Problem mit GetKeyEventResult aus Hook-Dll von CodeProject
-
Hi!
ich hab auch n Hook-Problem. Und zwar habe ich mir die Hook-Dll von CodeProject heruntergeladen. Ich hab alle Funktionen eingebunden. Aber ich bekomme beim Aufruf der Funktion GetKeyEventResult immer einen Fehler:
Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000.
Der Code sieht so aus:
Cpp-Datei:void __fastcall TForm1::KB_Hook(TMessage &msg) { KEYRESULT kr; UINT nMask = KH_MASK_KEYNAME; GetKeyEventResult(msg.WParam, msg.LParam, &kr, nMask); //Hier gibts den Fehler }Header-Datei:
class TForm1 : public TForm { ... private: // Benutzer-Deklarationen void __fastcall KB_Hook(TMessage &msg); void __fastcall MS_Hook(TMessage &msg); ... public: // Benutzer-Deklarationen BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_KEYHOOK, TMessage, KB_Hook); //Dies ist für den Keyboardhook MESSAGE_HANDLER(WM_MOUSEHOOK, TMessage, MS_Hook); //Maus-hook is auch dabei ;) END_MESSAGE_MAP(TForm); ... };Vorher füge ich noch mit
KEYENTRY ke; ke.nMessage = WM_KEYHOOK; // Our message ID ke.hCallWnd = Handle; // Send message to this window ke.hHookWnd = 0; // Capture key-strokes occurred in any windows ke.iCombKeys = 0; // Combination key states do not matter ke.iIndicators = 0; // Caps-lock, Num-lock, // Scroll-lock on/off states do not matter ke.iKeyEvent = KH_KEY_DOWN | KH_KEY_UP; ke.iMinVKCode = hotkey->HotKey; // Capture all keys regardless of their virtual key codes ke.iMaxVKCode = hotkey->HotKey; AddKeyEntry(&ke);die zu hookende Taste hinzu.
hotkey ist einen THotKey-Komponente, in die nur einzelne Buchstaben eingegeben werden dürfen (kein Shift, etc..). Das soll aber auch noch geändert werden.Kann mir jemand helfen

Sowohl bei dem Adress-Fehler als auch bei dem THotKey-Feld?Edit: Der Hook wird auch nur aktiv, wenn das eigene Fenster im Focus ist. Kann mir da vllt jemand auch zu sagen, warum das nicht geht?
ich weis...drei Fragen auf einmal, und für jede Frage einen eigenen Thread, aber da die Fragen direkt zusammengehören, dachte ich mir, ich kanns auch in einen schreiben

-
Hmm weis keiner ne Antwort??
Ich hab das ganze Projekt mal hier hochgeladen, da ich auf einmal auch einen Linker error bekomme, ich aber nicht weis, woher

-
So, der Linkererror is weg. Die anderen Probleme hab ich noch nicht gelöst bekommen

Bitte helft mir
