Hallo.
Ich will merken, wie man über RegisterHotkey usw. merken kann wann VK_SPACE gedrückt bzw. losgelassen wird.
Ich hab im moment folgenden Code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37:
| private FHotKeyID: TAtom; procedure WMKeyDown(var Msg: TWMKeyDown); message WM_KEYDOWN; procedure WMKeyUp(var Msg: TWMKeyUp); message WM_KEYUP;
[...]
procedure TForm1.FormCreate(Sender: TObject); begin FHotKeyID := GlobalAddAtom('MyUniqueHotKeyID'); if 0 = FHotKeyID then ShowMessage('GlobalAddAtom: ' + SysErrorMessage(GetLastError())) else if not RegisterHotKey(Handle, FHotKeyID, 0, Ord(' ')) then ShowMessage('RegisterHotKey: ' + SysErrorMessage(GetLastError())); end;
procedure TForm1.WMKeyDown(var Msg: TWMKeyDown); begin if Msg.CharCode = FHotKeyID then ShowMessage('down'); end;
procedure TForm1.WMKeyUp(var Msg: TWMKeyUp); begin if Msg.CharCode = FHotKeyID then ShowMessage('up'); end;
procedure TForm1.FormDestroy(Sender: TObject); begin if FHotKeyID <> 0 then begin UnregisterHotKey(Handle, FHotKeyID); GlobalDeleteAtom(FHotKeyID); end; end; |
Ich bekomms irgentwie nich auf die reihe
Gruß