Globale Hotkeys in Delphi

m3ntry

PC-Selbstbauer(in)
Hi, ich bin gerade dabei mir ein kleines Tool in Delphi zu basteln und würde gerne einige Funktion auch aus dem Hintergrund per Hotkey abrufen können.
So soll z.B. beim betätigen von ALT + H trotz minimiertem Programm das procedure von Button1.click ausgeführt werden.
Hab mir den Code dazu auch schon zusammengesucht und das ganze compiliert jedoch passiert einfach nichts beim betätigen des Hotkeys und ich kann den Fehler nicht finden.

Vereinbarungen:
Code:
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure WmHotkey(var Msg: TMessage); message WM_HOTKEY;
  public
    { Public-Deklarationen }
  end;

Hotkey Registrierung/Freigabe:
Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
  RegisterHotKey(Handle, 1, MOD_ALT, Ord('H'));
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnregisterHotKey(Handle, 1);
end;

Implementierung:
Code:
procedure TForm1.WmHotkey(var Msg: TMessage);
begin
  if (Msg.WParam = 1) then
  begin
    button1.click;
  end;
end;

Ich hoffe ihr könnt mir helfen.
Und seid nicht zu hart mit mir, ich hab erst vor 2 Wochen mit Delphi angefangen.

Gruß, Sebastian :)
 
Zurück