Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Перехватить нажатие клавиши на клавиатуре


Звонит мужик в программистскую фирму:
- Ваша программа не работает!!! Что делать?
- Вы внимательно читали руководство?
- Да, да, делал все как написано - не работает.
- Прочитайте еще раз 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;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay