Keyboard hook???
-
klappt der keyboard hook ausm faq eingentlich auch bei windows xp???
-
Mit sehr hoher Wahrscheinlichkeit...
-
wann muss ich den keyboard hook installieren damit er auch funtz

also ich hab ihn jetzt in WM_CREATE
case WM_CREATE: dll = LoadLibrary("keyboardhook.dll"); if (dll != NULL) { Setuphook = (Setup) GetProcAddress(dll, "SetupHook"); if (NULL != Setuphook) Setuphook(hwnd); else SendMessage ( hwnd, WM_DESTROY, (WPARAM) NULL, (LPARAM) NULL ) ; }
-
Fängst du auch WM_USER+2 (oder was auch immer vom Hook gesendet wird) ab?!
Und statt SendMessage ( hwnd, WM_DESTROY, (WPARAM) NULL, (LPARAM) NULL ) ; würde ich lieber DestroyWindow(hndw) nehmen
-
ja ich glaub schon das ichs abfang
case (WM_USER + 2): { sprintf(buf,"%c",(char)wParam); MessageBox(NULL,buf,"Keyboardmessage",0); break; }
-
Aber er springt dort nie hinein?!
Bzw. zuerst: wird die DLL korrekt (ohne Fehler) geladen? Ist der GetProcAddress-Aufruf erfolgreich?
-
getproc funzt und wenn ichn keyboardhooksetup mach bekomm ich 1 zurück
-
Welchen Compiler verwendest du?
-
Dev-C++ des von blodshed oder so
-
Das Problem könnte an dem global Memory hängen. Wenn du die Nachricht an das Fenster aus der DLL heraus sendest, dann verwende als Handle mal eines, welches du mit FindWindow() bekommst und sag an, ob's dann funzt.
-
du meinsch schon das ich irgentein window des ich mit findwindow hooken soll
^ klappt leider auch nicht
|
-
gargamel schrieb:
du meinsch schon das ich irgentein window des ich mit findwindow hooken soll
Ich antworte auf nichts, was ich nicht verstehe!!! Wenn du willst, dass man dir hilft, dann drück dich gefälligst ordentlich aus, so dass man dich versteht.

-
das mit findwinow() gefundene handle das ich an setuphook übergeben soll funktioniert leider nicht
besser

-
WebFritzi schrieb:
Wenn du die Nachricht an das Fenster aus der DLL heraus sendest, dann verwende als Handle mal eines, welches du mit FindWindow() bekommst und sag an, ob's dann funzt.
Das hatte ich geschrieben! Dann mach das auch so!
-
eben des geht ja auch nicht
-
gargamel schrieb:
eben des geht ja auch nicht
Doch! Du bist bloß so blöd, dass du nicht verstehst, was ich geschrieben habe. Sorry, aber das musste mal raus. Du sollst in der HookProc mit FindWindow nach dem Fenster suchen, an welches die Nachricht geschickt werden soll. Und dann sollst du das in SendMessage einsetzen. Man, man, man...
-
ebbbbeeennnnnnnnn deeeess kkkkkllllllllaapppppppppppttttt niiiiiiiccccccchhhhhtttt
-
Zeig deine HookProc!!!
-
aber ich hab rausgefunden das es in die funktion gar net kommt
LRESULT CALLBACK KeyboardHookProc (int nCode, WPARAM wParam, LPARAM lParam){ MessageBox(NULL,"hier",0,0);//kommt gar nicht hWindow = FindWindow(NULL,"Windows App") ; if (nCode == HC_ACTION){ if ((lParam & 1073741824) != 1073741824){ gedrückt war SendMessage ((HWND) hWindow, (WM_USER + 2), (WPARAM) wParam, (LPARAM) lParam) ; gedrückten } } return CallNextHookEx (hhkHook, nCode, wParam, lParam) ; }is der fehler vielleicht hier drin???
EXPORT BOOL CALLBACK SetupHook (HWND hParent){ hWindow = hParent ; MessageBox(NULL,"hier",0,0);//hier hin kommts hhkHook = SetWindowsHookEx (WH_KEYBOARD, KeyboardHookProc, hDllInstance,0) ; return TRUE ; }
-
Was liefert denn SetWindowsHookEx zurück? Falls NULL: Was sagt GetLastError()?