![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Эмуляция нажатия клавиши... [D6, D7, WinME, WinXP]
KrolikMaster © (2004-01-02 00:41:00)
вопрос избитый, но у меня не сработали методы которые обычно я использовал..
это две процедуры:
procedure PressKey(VKey: Byte);
begin
keybd_event(VKey, 0, 0, 0);
keybd_event(VKey, 0, KEYEVENTF_KEYUP, 0);
end;
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;
мне надо передать программе F12, то есть VK_F12, первая процедура не аботает для этой программы(прога не моя) а вторая вообще перестала у меня работать, даже для других окон. не знаю как и быть :(
Rouse _ (2004-01-03 06:19:00) [1]
Удалено модератором
Примечание: Создание пустых сообщений
KrolikMaster (2004-01-03 02:50:00) [2]
Удалено модератором
Примечание: Создание пустых сообщений
KrolikMaster (2004-01-02 14:10:00) [3]
2Rouse_
а какой пройдет для дос?
я не уверен в программе она писалась в далеком 97-ом имеет графический интерфейс... но многое изменилось за последние 7 лет, возможно она намеренно игнорирует сообщения системы, но как тогда она получает обычные нажатия клавиш, может можно эмулировать через драйвер клавиатуры?
на самом деле может кто-то знает? очень нужно! умоляю!!!!
Rouse_ (2004-01-02 13:48:00) [4]
> насколько я понял, это потому, что программа не обрабатывает сообщений,
Полная чушь... если не обрабатывает - значит висимс... это для GUI
Для DOS такой способ естественно не пройдет...
KrolikMaster (2004-01-02 04:51:00) [5]
насколько я понял, это потому, что программа не обрабатывает сообщений, но ведь есть способ передать ей клавиши? она ведь как-то принимает их?
а как передаются клавиши ДОС программе? может этот метод поможет? :)
KrolikMaster (2004-01-02 01:35:00) [6]
функция
SendMessage(Handle, WM_CHAR, VK_F12, 0); - тоже не срабатывает, люди в чем проблема то?