Глобальная горячая клавиша
Чтобы программа реагировала на нажатие определённых клавиш даже в неактивном состоянии, не обязательно ставить хук на клавиатуру. Можно зарегистрировать свою горячую клавишу, при её нажатии дескриптору, указанному при регистрации, будет отправляться сообщение WM_HOTKEY. Для регистрации горячей клавиши нужно использовать функцию RegisterHotKey(), для снятия регистрации UnregisterHotKey(). Рассмотрим пример: Сперва нужно добавить обработчик сообщений WM_HOTKEY. Для этого напишите в секции private
... private procedure OnHotKey(var Msg: TWMHotKey); message WM_HOTKEY; ...Теперь надо реализовать этот метод.
procedure TForm1.OnHotKey(var Msg: TWMHotKey); begin inherited; MessageBeep(0); // Любые действия при нажатии гор. клавиши end;И соответсвенно регистрация/снятие регистрации
procedure TForm1.FormCreate(Sender: TObject); begin RegisterHotKey(Handle, Ord('U'), 0, Ord('U')); //регистрац. гор. клавиши U end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin UnregisterHotKey(Handle, Ord('U')); // снятие регистрации end;Обратите внимание, что после регистрации горячей клавиши при её нажатии сообщение будет отправляться только форме, для других приложений клавиша работать не будет до снятия регистрации. При нажатии клавиши U будет раздаваться пик динамика. Вот и всё, Удачи!
Добавил(а): chasovitin | Дата: 2014-05-26 | |
отлично, что сайт не заброшен, а можно пообщаться с админом вконтакте?
|
Добавил(а): chasovitin | Дата: 2014-05-26 | |
отлично, что сайт не заброшен, а можно пообщаться с админом вконтакте?
|
No results found.