![]() |
Warum funktioniert UnRegisterHotKey nicht?
Hallo@all
Das Programm soll einen HotKey registrieren das macht es mit: RegisterHotKey(Handle, 1,0, Ord('A'); Das Programm reagiert auch wenn ich auf a drücke. Wenn ich ein zweite mal auf a drücke soll das Programm nicht mehr ragieren. UnRegisterHotKey(Handle, Ord('A'); Warum reagiert das Programm immer noch wenn der HotKey eigentlich nicht mehr existieren soll? :wall: Ich wäre für Antworten sehr dankbar. Nils |
Re: Warum funktioniert UnRegisterHotKey nicht?
Schau dir doch mal die Referenz zu UnregisterHotKey an. Dort wirst du sehen, dass der zweite Parameter nicht den Keycode des Hotkeys angibt, sondern die ID, das ist der zweite Parameter von RegisterHotkey.
|
Re: Warum funktioniert UnRegisterHotKey nicht?
Hallo
Ich habe das auch schon anders mit dem ID Parameter gemacht aber dann kommt die Meldung: Zu viele Parameter. Wie könnte man das denn dan machen mit UnRegisterHotKey hast du ein Beispiel? Nils |
Re: Warum funktioniert UnRegisterHotKey nicht?
Ganz einfach. Dein Aufruf von RegisterHotKey ist schon richtig, und UnregisterKotkey muss dann so aussehen:
Delphi-Quellcode:
Das Tastenkürzel brauchst du dot nicht anzugeben.
UnregisterHotkey(Handle, 1);
Noch ein kleiner Tipp: Benutze als Identifier nicht 1, die ist so naheliegend, dass sie mit hoher Wahrscheinlichkeit schon genutzt sein könnte. Benutz lieber ein globales Atom:
Delphi-Quellcode:
var
AtomId: TAtom; begin AtomID := GlobalAddAtom('Irgendeiner eindeutiger String'); RegisterHotkey(Handle, AtomID, 0, Ord('A')); //... UnregisterHotkey(Handle, AtomID); GlobalDeleteAtom(AtomID); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz