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

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

Эмуляция нажатия клавиши... [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); - тоже не срабатывает, люди в чем проблема то?


Наверх

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