Sendmessage



  • Ich würde gerne an eine Textbox eines anderen Programms den ENTER-Key schicken.
    Bisher habe ich es versucht, in dem ich mir das Handle der Textbox hole und über Sendmessage den ENTER-Key sende.

    Leider funktioniert das nur, wenn der Fokus auf der Textbox liegt.
    Gibt es eine Möglichkeit, Klicks oder Keys an Steuerelemente von anderen Programmen zu senden, ohne dass diese im Vordergrund sind, den Focus oder oder überhaupt sichtbar sind?

    MfG
    Sohn



  • das ist nicht all zu einfach: ich gehe mal davon aus, das es sich um einen Dialog handelt, der neben dem Edit auch ein Button hat, der schaltet, wenn die Eingabe Taste gedrückt wird (buttonstyle = BS_DEFPUSHBUTTON).
    Du musst den Text des edit controls mittels WM_SETTEXT/GETTEXT (single line control vorausgesetzt) bearbeiten und anschließend dem Parent eine BN_CLICK-notification (als WM_COMMAND) schicken, wobei du dich als der default push button ausgeben must. Das Handel zu diesem Button kannst du finden, indem du alle child controls des entsprechenden Fensters durchgehst (EnumChildWindows()) und auf den entsprechenden style BS_DEFPUSHBUTTON prüfst.
    Eine Garantie, dass es funktioniert, gibt es dabei nicht - einen Versuch ist es aber wert.


Anmelden zum Antworten