Перехватить нажатие клавиши на клавиатуре
|
Звонит мужик в программистскую фирму:
- Ваша программа не работает!!! Что делать?
- Вы внимательно читали руководство?
- Да, да, делал все как написано - не работает.
- Прочитайте еще раз 1-ю строчку.
- Читаю: "Нажмите кнопку ENTER". Нажимаю... Не работает.
- Читайте дальше.
- Читаю: "Отпустите кнопку ENTER". О!!! Заработала!!!
|
Для того, чтобы перехватить нажатие какой-то клавиши на клавиатуре можно использовать зарегистрированную "горячую клавишу" (HotKey). Эта программа пикает при нажатии "1".
...
private
procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
...
const
MyHotKey = ord('1');
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
MessageBeep(0);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Form1.Handle, MyHotKey, 0, MyHotKey);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(Form1.Handle, MyHotKey);
end;
|
|