Entwickler-Ecke
Windows API - Integer zur Laufzeit erzeugen (Für systemweite HotKeys)
LonghornUser - Mo 17.04.06 20:47
Titel: Integer zur Laufzeit erzeugen (Für systemweite HotKeys)
Hallo,
ich erstelle mittels diesem Code systemweite HotKeys:
Delphi-Quelltext
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: 38:
| private id1: 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 = id1 then ShowMessage('Ctrl + A pressed !'); end;
procedure TForm1.FormCreate(Sender: TObject); const MOD_CONTROL = 2; VK_A = $41; begin id1 := GlobalAddAtom('Hotkey1'); RegisterHotKey(Handle, id1, MOD_CONTROL, VK_A); end;
procedure TForm1.FormDestroy(Sender: TObject); begin UnRegisterHotKey(Handle, id1); GlobalDeleteAtom(id1); end; |
Nun ist mir durch die id-Variablen vorgeschrieben, wieviele HotKeys ich setzen kann (in diesem Fall einen). Aber eigentlich sollte es doch möglich sein, diese HotKeys dynamisch zu erzeugen (unendlich viele). Nur wie erstelle ich Integer Variablen zur Laufzeit ?
BenBE - Mo 17.04.06 20:50
Nimm für die Speicherung der IDs einfach ein dynamisches Array of Integer.
LonghornUser - Mo 17.04.06 21:12
Stimmt, das müsste gehen.
Dumme Frage: Wie stelle ich die Länge eines Arrays fest ? Also wieviele Elemente es hat ?
BenBE - Mo 17.04.06 21:21
SetLength und Length ;-) Rest steht in der DOH *gg*
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!