Вниз
Скачать: CL | DM;

горячие клавиши в webbrowser   Найти похожие ветки 

← →
Oleg_   (2004-03-21 23:24) [0]

Для отрабатывания сабж  использую

id2 := GlobalAddAtom("Hotkey_m1");
RegisterHotKey(self.Handle,id2,0,107);

обрабатываю нажатия в процедуре
procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;

и если активно другое приложение, скажем ворд, сообщение надо бы вернуть.
Активное окно нахожу через GetForegroundWindow
Логично из TWMHotKey вытянуть сообщение и отправить
PostMessage(GetForegroundWindow,msg.Msg,0,0);
но в ворде так и не отображается нажатие клавиши -(
Заранее спасибо


← →
nikkie ©   (2004-03-22 00:22) [1]

когда скачаешь EmbeddedWB, обрати внимание на
http://www.euromind.com/iedelphi/embeddedwb/ontranslateaccelerator.htm


← →
Oleg_   (2004-03-22 10:49) [2]

если перевести вопрос в плоскость именно RegisterHotKey
пусть даже никакого webbrowser нету, как можно или пропустить зарегестрированное сочетание клавиш на обработку активным приложением или послать активному приложению сообщение о нажатии клавиши?

SendMessage(GetForegroundWindow,WM_KEYDOWN,ord("t"),0);
SendMessage(GetForegroundWindow,WM_KEYUP,ord("t"),0);
не работает

а вот
PostMessage(GetForegroundWindow,WM_QUIT,0,0);
закрывает активное приложение


← →
nikkie ©   (2004-03-22 11:47) [3]

а зачем наворачивать такое с hot-key?

я, собственно, предположил, что ты пытаешься сделать shortcut с помощью hot-key. если я не угадал, то извиняюсь.


← →
Oleg_   (2004-03-22 12:03) [4]

Это уже скорее спортивный интерес, ведь должен быть какой то способ форвардирования или пропуска "горячим обработчиком" нажатия клавиши.
странно почему не дышит нажатие некоторой буквы через сообщения


← →
nikkie ©   (2004-03-22 12:15) [5]

если стоит нужда эмулировать нажатие клавиши, то проще воспользоваться keybd_event.

а если спортивный интерес - то во-первых, почему lParam=0, во-вторых, почему SendMessage, в-третьих, Ord("t")=116=VK_F5.


← →
Oleg_   (2004-03-22 12:47) [6]

На самом деле
postMessage(GetForegroundWindow,WM_KEYDOWN,ord("t"),0);
postMessage(GetForegroundWindow,WM_KEYUP,ord("t"),0);
эквивалентно  нажатию F5


← →
nikkie ©   (2004-03-22 13:28) [7]

видишь, как я угадал ;)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.058 c
3-1079021398
АнНоун
2004-03-11 19:09
2004.04.11
MySQL


3-1079510121
Cj_Nik
2004-03-17 10:55
2004.04.11
Отобразить первые n записей талицы


6-1079604130
Павел
2004-03-18 13:02
2004.04.11
Есть ли компонент перевода в html-код


6-1079546565
kondryuk
2004-03-17 21:02
2004.04.11
OnGetThread


1-1082522997
Denis_Ac
2004-04-21 08:49
2004.04.11
Указатели на TImage




   Наверх