Handle auf Dialog



  • ich greife auf eine exe zu und frage mich, wie ich einen Handle auf einen Dialog kriege wenn ich mehrere dialoge offen habe.

    Ich habe folgende Situation:

    Ich habe ein Hauptfenster(und auch den Handle darauf) in dem von vornherein ein Dialog geöffnet ist.
    Über PostMessage öffne ich über ein Menü einen weiteren Dialog. Auf diesen weiteren Dialog, bzw. Buttons in diesem Dialog möchte ich nun Zugriff haben. Dies sollte über SetDlgItem möglich sein wenn ich mich nicht irre.
    Allerdings brauch ich für SetDlgItem den Handle auf den Dialog... womit ich wieder bei der Ausgangsfrage bin.



  • Also wegen dem Handle auf den Dialog: siehe 1. Parameter der Dialog-Proc. 😉

    Wie meinst du das mit dem auf eine Exe zugreifen?
    Willst du von Außen ein anderes Programm "ärgern" indem du die Button deaktivierst? :p



  • meinst du mit dialog-proc die setDlgItemText? 🙂

    ja... deshalb brauch ich den handle zu dem dialog um die funktion überhaupt nutzen zu können.

    ich will automatisierte tests schreiben, um die gui und das was dahinter steckt zu testen. 😉



  • wie du da am Einfachsten rankommst, hängt auch davon ab, was an statischen Elementen bekannt ist und was an variablen Elementen leicht und sicher zu ermitteln ist.

    Schau mal in der MSDN nach
    EnumChildWindows()
    GetNextWindow()
    GetWindow()
    FindWindow()

    Mitunter ist FindWindow() das Mittel der Wahl. Die Fensterklasse lässt sich via Microsoft Spy++ ermitteln.

    Ulli



  • ich habe diese methoden schon versucht durchzuprobieren, aber irgendwie klappt allesn nicht. ich hätte z.b. den namen des dialogs statisch, habs also mit findWindow und findWindowEx probiert. will aber alles nicht.

    ich probier mein glück weiter.

    vielen dank erst mal



  • ich glaube hab das problem.

    send nen post message um den dialog zu öffnen und such ihn dann sofort.
    deshalb findet er das fenster dann nicht.

    wenn ich ne pause von ner sekunde einlege, dann funkts.

    danke euch,

    weiß jemand woran es liegen kann, dass ich wenn ich nen sendmessage um den dialog zu öffnen danach ewig warten kann und das programm nicht weiter macht???



  • wann und was du bei SendMessage() zurück bekommst, hängt vom letztendlich vom Programmierer der Anwendung bzw. der "Fenster Funktion", der du die Nachricht schickst, ab.

    Ulli


Log in to reply