Автор: Black Soft
Сперва нужно добавить обработчик сообщений 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 будет раздаваться пик динамика.
Просмотров: 11555
А как сделать условие для определенной нажатой клавиши, допустим
Если нажата горяч.Клавиша то выполнять это, и так далее |
2. Raptus
Чтоб юзать в комбинации с другими клавишами, нужно указывать параметр-модификатор
RegisterHotKey(Handle, VK_F12, 2, VK_F12); // Ctrl + F12 |
Copyright © 2008 - 2018 Программирование на Delphi для начинающих и не только.
Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.
Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.