![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
перехват нажатия Ctrl+Shift+S [D6]
IvanKohut © (2002-07-25 10:34:00)Уважаемые мастера
подскажите, как осуществить перехват нажатия Ctrl+Shift+S?
Я смотрел приведенный на сайте пример глобального хука на клавиатура. там есть такой фрагмент
Function KeyboardHook(Code: Integer; ParamW: WPARAM; ParamL: LPARAM): LRESULT;stdcall;
Begin
If Code IN [HC_ACTION, HC_NOREMOVE] Then
Begin
SendMessage(ShareInf^.AppWndHandle, WM_USER, ParamW, Code);
End;
Result := CallNextHookEx(ShareInf^.OldHookHandle, Code, ParamW, ParamL)
End;
В ParamW передается код нажатой клавиши. Каким образом тогда передается информация о нажатой функциональной клавише?
И еще вопрос, как емулировать нажатие таких клавиш?(дескриптор окна, куда нужно отослать, имеется)
Юрий Зотов (2002-07-26 09:34:00) [1]А кто мешает подправить код?
SendMessage(ShareInf^.AppWndHandle, WM_USER, ParamW, ParamL);
И тогда Ваша программа получает точный дубль исходного сообщения, в котором сидит полная информация о клавише.
watcher (2002-07-25 12:20:00) [2]может RegisterHotKey() проще ??
Oduvan (2002-07-25 11:26:00) [3]кажысть в LParam передается погляди WIN 32 SDK WM_KEYDOWN
там все есть!