![]() |
AW: registerHotKey funktioniert nicht
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:
![]() Aber wie gesagt: Du setzt in InstallHook Result immer auf True, egal ob das Setzen des Hooks erfolgreich war oder nicht. |
AW: registerHotKey funktioniert nicht
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:
Der Code müsste jetzt so richtig sein?
function InstallHook(Hwnd: Cardinal): Boolean; stdcall;
begin if HookHandle = 0 then begin HookHandle := SetWindowsHookEx(WH_KEYBOARD_LL, @LowLevelKeyboardProc, HInstance, 0); WindowHandle := Hwnd; end; end; |
AW: registerHotKey funktioniert nicht
Also wenn die Funktion immer False zurückgeben soll...
|
AW: registerHotKey funktioniert nicht
Zitat:
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. |
AW: registerHotKey funktioniert nicht
Jetzt gibt sie gar nichts zurück. Liest du eigentlich die Compiler Warnungen?
|
AW: registerHotKey funktioniert nicht
wenn du schon Boolean; stdcall;
also rückgabe definierst dann prüfe auch darauf.. Result := "sollte dann einen wert True/False liefern. gruss |
AW: registerHotKey funktioniert nicht
Zitat:
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. |
AW: registerHotKey funktioniert nicht
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 |
AW: registerHotKey funktioniert nicht
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; |
AW: registerHotKey funktioniert nicht
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:50 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