Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 5
Всего онлайн: 5
Зарегистрировано юзеров: 5845
Комментариев на сайте: 626
Новый юзер: MilesStecy



Последние комментарии
c
s1t1n прокомментировал "Урок 9 - Экспорт .3DS модели из 3DS max 2009 в OpenGL":
Отлично.
niaz-gtn прокомментировал "Урок 71 - Работа с сжатыми файлами":
7z.dll - приложите.



Мы в соцсетях
c
Delphi
Глобальная горячая клавиша

Чтобы программа реагировала на нажатие определённых клавиш даже в неактивном состоянии, не обязательно ставить хук на клавиатуру. Можно зарегистрировать свою горячую клавишу, при её нажатии дескриптору, указанному при регистрации, будет отправляться сообщение 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 будет раздаваться пик динамика.

Вот и всё, Удачи!

Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 25 Мая 2014
Просмотров: 121496


Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.



аватар Добавил(а): chasovitin [Новичок] Дата: 2014-05-26
отлично, что сайт не заброшен, а можно пообщаться с админом вконтакте?




аватар Добавил(а): chasovitin [Новичок] Дата: 2014-05-26
отлично, что сайт не заброшен, а можно пообщаться с админом вконтакте?