Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Работа с чужими окнами...

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Работа с чужими окнами...
Имя
Сообщение << Старые топики   Новые топики >>
Работа с чужими окнами... - 2008-10-09 13:10:37.553333   
electronic_arts

Сообщений: 8
Оценки: 0
Присоединился: 2007-06-30 21:10:24.770000
Есть программа в нем стоит компонент
SysListView32.app3 она не активна - а в нем стоит настройки самой проги - мне нужно активировать это окно из своей проги - как мне это сделать?

Саму прогу написали на Microsoft Visual C# / Basic .NET (покранемере это показал PEiD)

Вот эт главное окно проги
Имя класса окна: WindowsForms10.Window.8.app3 Хендл окна - 000702B4
Как сделали незнаю но все окна которые запускаються в проге имеют одно и те же название класса(WindowsForms10.Window.8.app3)

Хендл окна где находиться компонент которую надо активировать - 001C034C

А вот Имя класса компонента которую надо активировать
WindowsForms10.SysListView32.app3 Хендл компонента - 000D0316

Вот Имя класса кнопок находяшихся на окне проги
WindowsForms10.BUTTON.app3

Выяснил одно что все компоненты и окна отличаються только по заголовку и по хендлу и если написать такую строку то при несколько нажатии на Button1 оно закроет и открытые окна и саму прогу…

procedure TForm1.Button1Click(Sender: TObject);
var
h: HWND;
begin
h := FindWindow('WindowsForms10.Window.8.app3', nil);
if FindWindow('WindowsForms10.Window.8.app3', nil) <> 0 then
begin
PostMessage(h, WM_close, 0, 0);
end;
end;

Хендлы окон и компонентов определил спомошю InqSoft Window Scanner


Post #: 1
RE: Работа с чужими окнами... - 2008-10-09 14:08:49.420000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
SetFocus? SetForegroundWindow? SetWindowPos?

Для начала неплохо было-бы научиться пользоваться русским языком.

Если тебе нужно закрыть чужую прогу - то всё делается намного проще. Особенно на C#.

http://www.rsdn.ru/article/qna/ui/wndsetfg.xml
http://www.rsdn.ru/Forum/Info/FAQ.winapi.wndsetfg.aspx
Post #: 2
RE: Работа с чужими окнами... - 2008-10-09 14:47:29.213333   
electronic_arts

Сообщений: 8
Оценки: 0
Присоединился: 2007-06-30 21:10:24.770000
Я на delphi хочу это сделать - можно пояснее 
Post #: 3
RE: Работа с чужими окнами... - 2008-10-09 15:11:42.926666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Что именно "пояснее"?
Post #: 4
RE: Работа с чужими окнами... - 2008-10-09 15:19:17.320000   
electronic_arts

Сообщений: 8
Оценки: 0
Присоединился: 2007-06-30 21:10:24.770000
Как это на Delphi сделать??? а уже миллион вариантов попробывал ничего не кактит - мешает то что окна все одного и того же имени…WindowsForms10.Window.8.app3
Post #: 5
RE: Работа с чужими окнами... - 2008-10-09 15:22:46.620000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Хоть один вариант в студию…. А уговаривать написать за тебя - не стоит. Не напишу.

Ты хоть ходил по ссылкам, которые я тебе дал? Там что на си, что на дэлфи - однояйцево. Функции те же. Всё проверено, всё работает.

P.S. Ты спрашивал, как сделать окно активным, а не как его найти - определись… И ещё, очень советую почитать - http://www.rsdn.ru/Info/Howtoask.xml
Post #: 6
RE: Работа с чужими окнами... - 2008-10-09 15:41:02.453333   
electronic_arts

Сообщений: 8
Оценки: 0
Присоединился: 2007-06-30 21:10:24.770000
Окно на котором стоит этот компопент активна а вот компонент на нем нет
у компонента SysListView32.app3 стоит значение Enabled:=false; // компонент выключен
как мне из своей проги сделать этот компонент активным // влючить его
компонент оч похож на Listview из дельфи

Post #: 7
RE: Работа с чужими окнами... - 2008-10-09 15:44:23.550000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
EnableWindow

Только такие извращения над чужими прилложениями чреваты последствиями.
Post #: 8
RE: Работа с чужими окнами... - 2008-10-09 16:11:09.123333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Чел. Теперь я перефразирую твой вопрос… просто посмотри, как понятней писать нужно, вместо того, чтобы всякую хрень городить.
quote:


Как сделать запрещённое (Enabled = false) окно разрешённым (Enabled = true), если окно находится в чужом процессе?


Post #: 9
RE: Работа с чужими окнами... - 2008-10-09 18:14:58.996666   
FLIER

Сообщений: 628
Оценки: 0
Присоединился: 2007-08-29 01:31:15.400000
quote:

ORIGINAL: electronic_arts

Окно на котором стоит этот компопент активна а вот компонент на нем нет
у компонента SysListView32.app3 стоит значение Enabled:=false; // компонент выключен
как мне из своей проги сделать этот компонент активным // влючить его
компонент оч похож на Listview из дельфи



quote:

EnableWindow


Проблема1: нужно найти хендл элемента….(не по заголовку ищи а по ID)
Проблема2: EnableWindow('Окно',True);
Post #: 10
RE: Работа с чужими окнами... - 2008-10-09 18:17:59.030000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Flier, это у тя проблема? =)
Post #: 11
RE: Работа с чужими окнами... - 2008-10-09 23:07:00.930000   
electronic_arts

Сообщений: 8
Оценки: 0
Присоединился: 2007-06-30 21:10:24.770000
procedure TForm1.Button1Click(Sender: TObject); var q, w:HWND; begin q:=FindWindow('WindowsForms10.Window.8.app3', nil); w:=FindWindowEx(q, 0, 'WindowsForms10.SysListView32.app3', nil) ; ENABLEWINDOW(W, true); end;
Так проблема нашлось - я проверил и окозалось программе 2 штуки компонента WindowsForms10.SysListView32.app3 и оба одинакого имени
и выше указанный код присваивает значение ENABLEWINDOW(W, true); другому компоненту (WindowsForms10.SysListView32.app3) которая находиться в другой окне программы и даже не в активном состоянии….как мне отлечить компоненты друг от друга?
Post #: 12
RE: Работа с чужими окнами... - 2008-10-10 01:03:48.723333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
По ID… Flier уже писал… GetDlgItem в помощь.
Post #: 13
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Работа с чужими окнами...







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.