Windows - tecla de atalho de sistema |
Top Previous Next |
|
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 hotkey1, hotkey2: Integer; procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY; public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.WMHotKey (var Msg : TWMHotKey); begin if msg.HotKey = hotkey1 then ShowMessage('Ctrl + A pressed'); if msg.HotKey = hotkey2 then ShowMessage('Ctrl + B pressed'); end;
procedure TForm1.FormCreate(Sender: TObject); const MOD_CONTROL = 2; VK_A = 65; VK_B = 66; begin // MOD_WIN, MOD_CONTROL, MOD_SHIFT, MOD_ALT hotkey1 := GlobalAddAtom('Hotkey1'); RegisterHotKey(handle, hotkey1, MOD_CONTROL,VK_A); hotkey2 := GlobalAddAtom('Hotkey2'); RegisterHotKey(handle, hotkey2, MOD_CONTROL,VK_B); end;
procedure TForm1.FormDestroy(Sender: TObject); begin UnRegisterHotKey(handle, hotkey1); UnRegisterHotKey(handle, hotkey2); end;
end.
|