Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запустить процедуру в чужом процессе


Страницы:   1 2

Chorniy ©   (2008-03-03 11:40:00) 

Все еще пытаюсь "кликнуть" мышкой по окну игры, которое не обрабатывает сообщения виндовс.

Имеем:
Запущенную игру (известен ID процесса), название и сдвиг процедуры клика мышки внутри чужого процесса (скажем ClickXY).

Вопрос:
Есть ли способ запустить эту процедуру внутри чужого процесса? Или каким-нибудь образом переставить точку выполнения с одной команды на другую? Вот дебаггеры же умеют вроде так делать... В сторону каких процедур копать и что почитать по этой теме?


Palladin   (2008-03-03 13:33:00) [21]

http://www.google.ru/search?hl=ru&q=setwindowlong+gwl_wndproc&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=&aq=f


Chorniy   (2008-03-03 13:33:00) [22]

там наверняка регистры процессора сохранять надо (GetThreadContext), чтобы вернуть точку обратно... а еще что?


Chorniy   (2008-03-03 13:30:00) [23]


> Здесь подробнее - откуда тебе стало об этом известно ..

ну из PE файла... хотя честно скажу, что еще не реализовал это.  Потому что даже не был уверен в возможности перестановки точки выполнения программы.


> Оч даже простым способом - SetWindowLong(..GWL_WNDPROC..
> ).

Вот почитать бы где-нить статейку про реализацию SetWindowLong(..GWL_WNDPROC ...) или на словах поясните какого именно рядаусловий, попытаюсь поковыряться.


Сергей М.   (2008-03-03 12:52:00) [24]


> Или каким-нибудь образом переставить точку выполнения с
> одной команды на другую?


Оч даже простым способом - SetWindowLong(..GWL_WNDPROC..).

Но для успешного выполнения этой ф-ции требуется отнюдь непростое соблюдение ряда условий.


Сергей М.   (2008-03-03 12:44:00) [25]


> игра может работать с мышкой и без этих сообщений


Да мало ли как игра может работать !)

Но это же вовсе не ознаает, что окно никак не обрабатывает некие поступающие в его адрес сообщения)


> название и сдвиг процедуры клика мышки внутри чужого процесса
> (скажем ClickXY).


Здесь подробнее - откуда тебе стало об этом известно ..


Chorniy   (2008-03-03 11:58:00) [26]

Я уже создавал тут тему по этому вопросу. Уточню: не обрабатывает события виндовс WM_LBUTTONDOW, WM_LBUTTONUP... мне оветили, что игра может работать с мышкой и без этих сообщений, как-то через заднее отверстие ;)


Сергей М.   (2008-03-03 11:43:00) [27]


> окну .., которое не обрабатывает сообщения виндовс


Это нонсенс


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо