Window Hook



  • Hallo,
    ich möcht in meiner Anwendung ein gezieltes Fenster überwachen. D.h. das Window Handle dies Fensters habe ich bereits.
    Nun möchte ich dieses Fenster auf Tastatureingaben überwachen.

    Dabei habe ich mich an das Beispiel aus dem Tutorial angelehnt. http://www.c-plusplus.net/forum/viewtopic-var-t-is-39144-and-highlight-is-f3hotkey.html

    Ich möchte höchstens 3 Tasten abfragen. In dem Beispiel wird das Handling der Form1 übernommen bzw. registriert.

    Für mich stellt sich die Frage, wie ich die Abfragen (Tastatur Hook) auf nur ein bestimmtes Fenster (mittels hwnd) begrenzen kann.

    Ich habe bereits versucht das Handle des Fenster zu übergeben. Nur leider funkt. dies nicht.
    Ist dies überhaupt möglich, gibt es andere Methoden dies zu realisieren?



  • such mal nach subclassing

    und sonst kannst du einfach abfragen welches fenster aktiv ist.



  • Ich prüfe bereits welches Fenster aktiv ist, das ist auch nicht das Problem.
    Jedoch bringt es mir nichts, da meine Anwendung dann alle registrierten Keys entgegen nimmt.

    Wie kann ich die Keys dann nur auf eine bestimmte Anwendung / Fenster registrieren?

    Mit dem RegisterHotKey kann ich festlegen welches Handle die Keys erhält.
    Gibt es eine Möglichkeit nur bestimmte Keys auf ein Fenster-Handle zu legen, welche dann an mein Application übertragen werden?

    RegisterHotKey(hWnd_app, HotKeyIdentifier_uint, HotKeyModifier_uint, VK_F1);
    


  • verstehe zwar nicht genau was du machen willst(vielleicht liegts an der mittagsträgheit)

    schau dir mal

    SetWindowsHookEx()
    

    an.
    Damit kannst du ein Fenster in einer externen Application Hooken.
    So kannst du die Message des Fensters abfangen und auswerten.

    mfg
    BigNeal


Anmelden zum Antworten