Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Чужое окно. Нажать хоткей через PostMessage


Автор: Scooter 31.1.2011, 07:38
Не могу нажать горячую клавишу в чужом окне... С начало посылаю сообщение нажать стрелку вниз, оно срабатывает:

Код

//Нажать стрелку вниз
PostMessage(h,WM_KEYDOWN,VK_DOWN,0);
PostMessage(h,WM_KEYUP,VK_DOWN,0);


Далее через 50 милисекунд посылаю нажатие горячей клавиши, ну оно не срабатывает:

Код

sleep(50);

//Нажать Альт + F
PostMessage(h,WM_KEYDOWN,VK_MENU,0);
PostMessage(h,WM_KEYDOWN,ord('F'),0);
PostMessage(h,WM_KEYUP,ord('F'),0);
PostMessage(h,WM_KEYUP,VK_MENU,0);


Что тут может быть не так подскажите пожалуйста?

Автор: Scooter 31.1.2011, 10:59
Проверял через keybd_event  все работает на ура (((, ну тогда окно должно быть всегда активно, ну это уже не то что нужно (((...

 
Код

//Альт + F
keybd_event(VK_MENU, 0,0,0);
keybd_event(ord('F'), 0,0,0);
keybd_event(ord('F'), 0,KEYEVENTF_KEYUP,0);
keybd_event(VK_MENU, 0,KEYEVENTF_KEYUP,0);

Автор: Scooter 1.2.2011, 20:30
Ребят ну может кто нибудь даст совет? или хотя бы скажет что все нормально, просто магнитная аномалия поэтому горячая клавиша не срабатывает )))...

Автор: Rrader 1.2.2011, 20:42
Есть возможность прикрепить чужое приложение? Есть соображения, почему не работает. Если возможности нет, будем юзать план В. smile 

Автор: Scooter 2.2.2011, 06:24
Скорее всего нет такой возможности...  А что за план В такой? smile

Автор: Scooter 5.2.2011, 10:15
Спасибо всем, сам разобрался... Нажал клавишу через BM_CLICK а не через хоткей....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)