Как зарегистрировать горячие клавиши (hot key) в Delphi?

В примере для глобального перехвата нажатия клавиши printscreen регистрируется горячая клавиша (hot key):

type
  TForm1 = class(TForm) 
    procedure FormCreate(Sender: TObject); 
    procedure FormDestroy(Sender: TObject); 
  private
  { Private declarations }
    procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY; 
  public
  { Public declarations }
end; 
var
  Form1: TForm1; 
  
implementation
  
{$R *.DFM}
  
const id_SnapShot = 101; 
  
procedure TForm1.WMHotKey (var Msg : TWMHotKey); 
begin
  if Msg.HotKey = id_SnapShot then ShowMessage('GotIt'); 
end; 
  
procedure TForm1.FormCreate(Sender: TObject); 
begin
  RegisterHotKey(Form1.Handle, id_SnapShot, 0,  VK_SNAPSHOT); 
end; 
  
procedure TForm1.FormDestroy(Sender: TObject); 
begin
  UnRegisterHotKey (Form1.Handle, id_SnapShot); 
end; 
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (10 оценок, среднее: 5,00 из 5)
Загрузка...
Добавить комментарий