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


Автор: 4Got 15.11.2009, 14:17
Подскажите пожалуйста как правильно в win 7 отправить сообщение другому окну, в котором содержится сочетание клавиш ctrl+w или ctrl+F4? В частности, главному окну мозиллы. Пробовал так:
Код

Fw:= FindWindowEx(ff,0,'MozillaWindowClass', nil);
    if Fw <> 0 then
     begin
      PostMessage(FF,WM_KEYDOWN,VK_CONTROL, 0);
      PostMessage(FF,WM_KEYDOWN,VK_F4, 0);
      PostMessage(FF,WM_KEYUP,VK_F4, 0);
      PostMessage(FF,WM_KEYUP,VK_CONTROL, 0);
     end;



Почему-то ничего не происходит. Хотя на PostMessage(FF,WM_KEYDOWN,VK_CLOSE, 0); или PostMessage(FF,WM_KEYDOWN,VK_F11, 0); реагирует правильно.

Добавлено через 11 минут и 43 секунды
пробовал еще и так:
Код

keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);
    keybd_event(Ord('W'), MapVirtualKey(Ord('W'), 0), 0, 0);
    keybd_event(Ord('W'), MapVirtualKey(Ord('W'), 0), KEYEVENTF_KEYUP, 0);
    keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0);

Автор: ~FoX~ 15.11.2009, 15:55
4Got, http://forum.sources.ru/index.php?showtopic=66931

Автор: 4Got 15.11.2009, 20:00
Спасибо за подсказку, но 
Код

 SendMessage(Handle,WM_KEYDOWN,Byte(C),$20000001);

не работает
и с процедурой что-то не совсем ладное..

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