Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

перехват нажатия 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

там все есть!


Наверх

Титульная страница Поиск, карта сайта Написать письмо