AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Warum funktioniert UnRegisterHotKey nicht?
Thema durchsuchen
Ansicht
Themen-Optionen

Warum funktioniert UnRegisterHotKey nicht?

Ein Thema von nils14 · begonnen am 1. Okt 2003 · letzter Beitrag vom 1. Okt 2003
Antwort Antwort
nils14

Registriert seit: 19. Aug 2003
Ort: Grossheide
16 Beiträge
 
Delphi 3 Professional
 
#1

Warum funktioniert UnRegisterHotKey nicht?

  Alt 1. Okt 2003, 14:27
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?

Ich wäre für Antworten sehr dankbar.

Nils
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Warum funktioniert UnRegisterHotKey nicht?

  Alt 1. Okt 2003, 14:32
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.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
nils14

Registriert seit: 19. Aug 2003
Ort: Grossheide
16 Beiträge
 
Delphi 3 Professional
 
#3

Re: Warum funktioniert UnRegisterHotKey nicht?

  Alt 1. Okt 2003, 14:43
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
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Warum funktioniert UnRegisterHotKey nicht?

  Alt 1. Okt 2003, 14:57
Ganz einfach. Dein Aufruf von RegisterHotKey ist schon richtig, und UnregisterKotkey muss dann so aussehen:
UnregisterHotkey(Handle, 1); Das Tastenkürzel brauchst du dot nicht anzugeben.

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;
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz