Показать сообщение отдельно
Старый 29.12.2010, 07:11  
dark
Читодел
Аватар для dark
OFFLINE
Регистрация: 09.04.2007
Сообщений: 965
Благодарностей:
36,568 всего
Мнения: + 37655
Репутация: 116367
Отправить сообщение для dark с помощью ICQ Отправить сообщение для dark с помощью Skype™

Цитата:
Сообщение от trancformator Посмотреть сообщение
Пытаюсь написать программку, для себя, ориентированную на клиент RF которая бы могла имитировать нажатия тех или иных клавиш на клавиатуре.

Пробовал имитировать нажатия 2-я известными мне способами:

1. через PostMessage
2. через keybd_event

и третьим, найденным в интернете:

через процедуру написанную на ассемблере

procedure EmulateKey(Wnd: HWND; VKey: Integer);
asm
push 0
push edx
push 0101H //WM_KEYUP
push eax
push 0
push edx
push 0100H //WM_KEYDOWN
push eax
call PostMessage
call PostMessage
end;

Во всех случаях окно искал по названию "RF Online", также использовал SetForegroundWindow

Язык, понятное дело, Delphi. Операционная система: Win7 x64.

Ни один из способов не приносит результата, т.е. нажатие не имитируется.

Поможите кто чем может, люды добрые)
Проблема заключается в том, что ты шлёшь не в то окно нажатия. Окно RF Online на самом деле - это окно фроста (оно грузится первым). Поэтому в данном случае стандартными методами (поиск по заголовку) ты hwnd не получишь.
Я делаю так:
Аттачу дллку, перехватываю обработчик сообщений и в нём уже при клике правой мышкой (а клик этот будет по любому в нужном для нас окне), сохраняю нужный hwnd.

Cheats Development | Создание читов на заказ

Я не оказываю услуги гаранта!
База данных кидал: blacklist.rf-cheats.ru
Обязательно проверяйте человека через чёрный список прежде чем совершать с ним сделку.
 
Ответить с цитированием
Сказали спасибо:
trancformator (29.12.2010)