AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

registerHotKey funktioniert nicht

Ein Thema von dYnAm1c · begonnen am 26. Jun 2011 · letzter Beitrag vom 30. Jun 2011
Antwort Antwort
Seite 3 von 5     123 45      
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#21

AW: registerHotKey funktioniert nicht

  Alt 28. Jun 2011, 21:51
Naja, wenn du einen Haltepunkt auf die erste Zeile der Hookprozedur setzt, wirst du dort vermutlich ankommen. Dass es nicht klappen kann, ist klar, denn wenn du einmal in die Dokumentation geschaut hättest, hättest du gesehen, dass die LowLevel-KeyboardProc anders aussieht:
http://msdn.microsoft.com/en-us/library/ms644985.aspx

Aber wie gesagt:
Du setzt in InstallHook Result immer auf True, egal ob das Setzen des Hooks erfolgreich war oder nicht.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
dYnAm1c

Registriert seit: 26. Jun 2011
23 Beiträge
 
#22

AW: registerHotKey funktioniert nicht

  Alt 28. Jun 2011, 22:16
Das scheint einfach nicht mein Gebiet zu sein, also ich hab den LowLevelKeyboardProc und den KeyboardProc mal verglichen und bis auf wParam und lParam scheinen beide Funktionen gleich zu sein, es sei denn ich übersehe was, oh man, Hilfe ich komm nicht mehr klar xD

Delphi-Quellcode:
function InstallHook(Hwnd: Cardinal): Boolean; stdcall;
begin
  if HookHandle = 0 then begin
    HookHandle := SetWindowsHookEx(WH_KEYBOARD_LL, @LowLevelKeyboardProc, HInstance, 0);
    WindowHandle := Hwnd;
  end;
end;
Der Code müsste jetzt so richtig sein?

Geändert von dYnAm1c (28. Jun 2011 um 22:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#23

AW: registerHotKey funktioniert nicht

  Alt 28. Jun 2011, 22:33
Also wenn die Funktion immer False zurückgeben soll...
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
dYnAm1c

Registriert seit: 26. Jun 2011
23 Beiträge
 
#24

AW: registerHotKey funktioniert nicht

  Alt 28. Jun 2011, 22:49
Also wenn die Funktion immer False zurückgeben soll...
Oh ja das hab ich übersehen, jetzt sollte es richtig sein.
Aber trotzdem weiß ich einfach nicht wie ich jetzt mit dem LowLevelKeyboardProc weitermachen soll.
Ich hab mir eigentlich fast alles relevantes zu SetWindowsHooxEx und LowLevelHook durchgelesen was ich in der MSDN gefunden habe, aber ich werde einfach nicht draus schlau wo bei mir der Fehler ist.

Geändert von dYnAm1c (28. Jun 2011 um 22:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#25

AW: registerHotKey funktioniert nicht

  Alt 28. Jun 2011, 22:53
Jetzt gibt sie gar nichts zurück. Liest du eigentlich die Compiler Warnungen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#26

AW: registerHotKey funktioniert nicht

  Alt 28. Jun 2011, 22:59
wenn du schon Boolean; stdcall;
also rückgabe definierst dann prüfe auch darauf..

Result := "sollte dann einen wert True/False liefern.

gruss
  Mit Zitat antworten Zitat
dYnAm1c

Registriert seit: 26. Jun 2011
23 Beiträge
 
#27

AW: registerHotKey funktioniert nicht

  Alt 28. Jun 2011, 23:03
Jetzt gibt sie gar nichts zurück. Liest du eigentlich die Compiler Warnungen?
Wenn ich ehrlich bin, nein ich habs die ganze Zeit übersehen, danke^^.
Auf diese Weise konnte ich zumindest schonmal einen kleinen anderen Fehler ausmerzen.
Ich bin leider im moment total überfordert und hab glaube ich keine Ahnung was ich gerade machen soll,
ob nun Result := True/False da hin muss oder doch was anderes was ich wie immer mal wieder übersehe.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#28

AW: registerHotKey funktioniert nicht

  Alt 28. Jun 2011, 23:07
InstallHook liefert einen Boolean zurück so wie es deklariert ist.
also dann prüfe doch einfach auf das Ergebnis von HookHandle

Result := HookHandle <> 0;
anstelle von
WindowHandle := Hwnd;

Ist der wert mehr dann liefert diese Funktion ein true zurück andernfalls ein False.
So kannst du prüfen ob die Installation erfolgreich war.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#29

AW: registerHotKey funktioniert nicht

  Alt 28. Jun 2011, 23:08
Delphi-Quellcode:
function InstallHook(Hwnd: Cardinal): Boolean; stdcall;
begin
  Result := False;
  if HookHandle = 0 then begin
    HookHandle := SetWindowsHookEx(WH_KEYBOARD_LL, @LowLevelKeyboardProc, HInstance, 0);
    WindowHandle := Hwnd;
    Result := HookHandle <> 0;
  end;
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
dYnAm1c

Registriert seit: 26. Jun 2011
23 Beiträge
 
#30

AW: registerHotKey funktioniert nicht

  Alt 28. Jun 2011, 23:36
Jetzt habt ihr beide Unterschiedliche Codes gepostet, sind jetzt beide richtig?^^

Und trotzdem hat das ja noch nicht mein Problem gelöst das mein Hotkey immernoch nicht funktioniert, leider.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


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 02:53 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