Thomas233 - So 18.05.03 19:14
Titel: Hotkey aus Ini laden/registrieren
Hallo,
ich habe ein Programm geschrieben das Hotkeys benutzt. Die Hotkeys werden mit
REGISTERHOTKEY und
UNREGISTERHOTKEY aus der Windows-Api registriert/entfernt. Das Auswerten beim Klick eines Hotkeys wird auch behandelt.
Das Problem besteht darin das ich will das sich der Benutzer den Hotkey aussucht, mit dem er das Programm öffnet. Daher habe ich ein Textfeld gemacht in dem man den Buchstaben definieren kann. Als Kombination wird dann STRG+Buchstabe verwendet.
Der Buchstabe den der Benutzer dann eingibt wird in eine Ini-Datei mit "WriteString" geschrieben (Uppercase inklusive). Das Programm lädt den Buchstaben dann aus der Ini und soll den Hotkey registrieren:
Delphi-Quelltext
1:
| RegisterHotKey(Form.Handle,id1,0, Ini.Readstring('Section','Buchstabe','R')); |
Da ich den letzten Parameter, der ein "virtual key" sein muss, aber weder mit "Ini.Readsting(...)", noch mit "Ord(Ini.Readstring(...))" einbetten kann funktioniert das nicht. Auch mit einer Variable als Shortcut funktioniert das nicht.
Kann jemand helfen, weiss jemand eine Lösung? Ich bitte sehr darum da mein Prog dann fertig ist.
bis11 - So 18.05.03 21:22
Du setzt ja im Moment so den Hotkey fest :
Delphi-Quelltext
1: 2:
| id1:=GlobalAddAtom('Hotkey1'); RegisterHotKey(handle,id1,MOD_CONTROL,VK_B); |
Jetzt musst Du Dir überlegen, wie Du es machst. Da ja
VK_B dem ASCII-code 66 entspricht, musst Du entweder bei Schreiben in die INI den Wert setzen oder den eingegeben Buchstaben in die INI schreiben. Du musst auf jeden Fall so oder so umwandeln.