Moin E307,
hier mal ein komplettes Kurzbeispiel:
Delphi-Quellcode:
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure WMHOTKEY(var msg : TWMHotKey); message WM_HOTKEY;
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
if not RegisterHotKey(self.Handle,0,MOD_ALT or MOD_CONTROL,VK_F1) then begin
ShowMessage(SysErrorMessage(GetLastError));
end;
end;
procedure TForm1.WMHOTKEY(var msg: TWMHotKey);
begin
if msg.HotKey = 0 then ShowMessage('Hotkey aufgerufen');
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnregisterHotKey(self.Handle,0);
end;
Wichtig:
Wenn der Hotkey schon von einem anderen Programm reserviert wurde, schlägt die Registrierung fehl, hier gilt: Wer zuerst kommt mahlt zuerst.