Регистрация и обработка горячих клавиш в Delphi

Описание программы

Регистрируем клавишу PrintScreen в реестре как горячую клавишу и в обработчике событий при нажатии на PrintScreen из любого окна Windows — выводим окно с сообщением «Нажали на PrintScreen». Код горячей клавиши задается в константе id_key (код клавиши PrintScreen равен 101 (или 44)). Полную таблицу кодов клавиш можно посмотреть здесь.

Листинг программы

unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
 
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY;
  end;
 
var
  Form1: TForm1;
 
const id_key = 101;
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  RegisterHotKey(Form1.Handle,id_key,0,VK_SNAPSHOT);
end;
 
procedure TForm1.WMHotKey (var Msg : TWMHotKey);
begin
 if Msg.HotKey = id_key then ShowMessage('Нажали на PrintScreen.');
end;
 
procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnRegisterHotKey (Form1.Handle, id_key);
end;
 
end.

Исходник

Скачать исходник можно здесь.

Kwork.ru - услуги фрилансеров от 500 руб.
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Добавить комментарий