Вниз
Скачать: 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.045 c
14-1082007319
Карелин Артем
2004-04-15 09:35
2004.04.11
Посоветуте программу для рассылки.


1-1079886759
новичок_из_сыктывкара
2004-03-21 19:32
2004.04.11
Всплывающая подсказка


8-1076781659
VasRog
2004-02-14 21:00
2004.04.11
Как узнать цвет пикселя


7-1080538520
Ivolg
2004-03-29 09:35
2004.04.11
Указатель


11-1067197291
puky
2003-10-26 22:41
2004.04.11
www.Rentacoder.com и Kol




   Наверх