![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
эмуляция нажатия клавиш в неактивном окне
KiberKot © (2008-01-10 05:52:00)тема уже была, но ее закрыли, так что спрошу еще раз
ка эмулировать нажатие клавиши в неактивном окне зная его
дескриптор (D3D Window)
насколько я понял SendMessage не поможет
так же я нашел пример
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;
// Пример использования:
EmulateKey(Edit1.Handle, VK_RETURN);
каторый так же никакого результата недал
ассемблера к сожалению незнаю
МистерТ (2008-08-14 12:58:00) [1]> KiberKot © (10.01.08 20:13) [3]
> D3D Window - игра RF Online
вероятнее всего там использован DirectInput, а это значит ни какими PostMessage/SendMessage и ассемблером клавишу не нажать. Только писать собственную оболочку над DI.
И вообще, во всех играх банят за ботописание :)
CAMOPKAH (2008-08-13 23:34:00) [2]В данном случае задержками :
push 0
push edx
push 0101H //WM_KEYUP
push eax
push 500 //Задержка в ms
push 0
push edx
push 0100H //WM_KEYDOWN
push eax
call PostMessage
call Sleep
call PostMessage
CAMOPKAH (2008-08-13 23:33:00) [3]В данном случае задержками :
push 0
push edx
push 0101H //WM_KEYUP
push eax
push 500 //Задержка в ms
push 0
push edx
push 0100H //WM_KEYDOWN
push eax
call PostMessage
call Sleep
call PostMessage
CAMOPKAH (2008-08-13 23:33:00) [4]В данном случае задержками :
push 0
push edx
push 0101H //WM_KEYUP
push eax
push 500 //Задержка в ms
push 0
push edx
push 0100H //WM_KEYDOWN
push eax
call PostMessage
call Sleep
call PostMessage
wispa (2008-06-13 16:42:00) [5]уменя твой верхний пример работает просто беда в том что он нажимает и отпускает(просто мгновенно,кстате почемуто два раза нажимает) и зажатие клавиши несмог реализовать(в асемблере тож нуль)
KiberKot (2008-01-10 20:13:00) [6]D3D Window - игра RF Online
Cj (2008-01-10 06:28:00) [7]
> keybd_event
для активного конечно окна
Cj (2008-01-10 06:18:00) [8]
> D3DWindow
это Direct 3D? если да, то никак, DirectX использует свои средства засекания клавиш, через свой(помоему) драйвер. Мне в таком случае помогала keybd_event