prüfen auf Veränderung



  • Ich schreibe an einem kleinen Programm, das Nachrichten zu ICQ sendet und jetzt auch empfangen soll.Das senden habe ich schon; nur das Empfangem bereitet mir größere Probleme.Am einfachsten wäre es wohl, wenn das Programm prüft, ob sich etwas in dem oberen Edit-Feld verändert hat. Dann wird der Text eingelesen.
    Wie kann man prüfen, ob sich etwas im Edit-Feld eines anderen Programmes geändert hat?

    GetMessage(...); + EN_CHANGE ?!?
    

    Wie genau ?

    Danke Danke!!!



  • Dazu müsstest du das Edit-Contol des ICQ-Clients subclassen.



  • Hilft mir jetzt wenig. Was genau meinst Du?



  • Du besorgst Dir das Handle vom Edit-Feld, geht glaube ich mit EnumWindows oder so ähnlich, dann kannst Du dem Feld eine neue Windowproc zuteilen:

    PrevWndProc = (WNDPROC)::SetWindowLong(hWndEditCtrl, GWLP_WNDPROC, (LONG)NewWindowProc);
    

    Innerhalb der neuen Windowproc kannst Du dann auf die Nachrichten reagieren und zum Schluss mit

    CallWindowProc(PrevWndProc, hWndEditCtrl, Message, wParam, lParam);
    

    die alte Windowproc zur weiteren Verarbeitung der Nachrichten aufrufen.

    So oder so ähnlich sollte es funktionieren. 🙂


Log in to reply