WM_NOTIFY und WM_COMMAND hooken

  • Nun, ich möchte eine UDF schreiben (Ich hatte das Problem aber schon mehrmals).
    Dazu muss ich auf WM_NOTIFY und WM_COMMAND reagieren. An sich ja kein Problem. Einfach GuiRegisterMSG und fertig... Allerdings ist das in UDFs ja nicht einfach Möglich, da der Nutzer der UDF ja ggf. selbst auch auf diese Messages reagieren möchte. Dabei wird dann ja das vorherige GuiRegisterMSG überschrieben.
    Bisher hatte ich das so gelöst, dass der Nutzer die Message registrieren muss und dort dann meine Funktion aufruft (oder diese registriert).

    Ich hatte bereits auch mehrfach versucht, die Messages zu hooken. Nun hab ich mich wiedermal drangesetzt und hab nach Stunden immernoch keine Lösung...
    Meine Versuche:
    _WinAPI_SetWindowsHookEx mit $WH_CALLWNDPROC, $WH_CALLWNDPROCRET, $WH_GETMESSAGE
    _WinAPI_RegisterShellHookWindow
    _WinAPI_SetWinEventHook

    Die verschiedenen Hooks hab ich in verschiedensten Varianten durchprobiert... leider ohne gewünschtes Ergebnis...
    Eigentlich sollte ja $WH_CALLWNDPROC reagieren, dort passiert allerdings nicht.

    Das Momentane Script:

    Ich hab auch schon einiges in MSDN gelesen. Aber eine Erklärung, warum $WH_CALLWNDPROC nicht funktioniert wie erwartet, habe ich nicht gefunden.

    Ich hoffe einer von euch kann mir helfen, auf das ich dieses lästige Problem beseitigen kann :)

    MfG Kanashius

    • Offizieller Beitrag

    Das geht so:


    Edit:

    Und hier findest du das Prinzip in einer UDF angewendet: https://autoit.de/index.php/Thre…8292#post258292