Home » Tipps & Tricks » System » Prozesse » Systemweiten HotKey definieren
Systemweiten HotKey definieren
Will man auf Tastatureingaben auch dann reagieren, wenn das eigene Fenster nicht angewählt oder minimiert ist, so hilft ein systemweiter Hotkey.Die ID ist eindeutig und im Bereich 0x0000 bis 0xBFFF. Die verschiedenen Hotkeys werden im folgenden mit den ID’s ID, ID+1 bis ID+x bezeichnet.
type TWMHotkey = record Msg: Cardinal; idHotKey: Word; Modifiers: Integer; VirtKey: Integer; end; const ID = $FF; type TForm1 = class(TForm) ... private procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY; end; ... procedure TForm1.WMHotKey(var Msg: TWMHotkey); begin case Msg.IdHotKey of ID: caption:='alles klar'; ID+1: caption:='es ist immer noch alles klar'; // Abhängig von der ID wird entschieden, was getan werden soll. end; inherited; end; ... procedure TForm1.FormCreate(Sender: TObject); var ok: longbool; begin ok:=RegisterHotKey(Form1.Handle, ID, MOD_Alt, Ord('Q')); (* Weitere Möglichkeiten sind Mod_control und mod_shift. *) if not ok then ... // Irgendwas war wohl nicht in Ordnung. ok:=RegisterHotKey(Form1.Handle, ID+1, MOD_control, vk_f1); ... end;