Ich bin ein Programm für automatisiertes Testen codieren, die zufällig ein geöffnetes Anwendungsfenster mit verschiedenen User32.dll Bibliotheksaufrufe klickt. Mein aktuelles Problem ist folgendes: Wenn ein Klick einen Dialog öffnet, wird mit Process.WaitForInputIdle() nicht lange genug gewartet, bis dieser Dialog beim nächsten Umlauf erkannt wird, was bedeutet, dass mehrere Klicks ausgelöst werden und diese Klicks passieren auf etwas im Dialog zu sein, den ich vermeiden möchte (sagen Sie einen Exit-Knopf), gibt es keine Möglichkeit, das im Voraus zu sagen. Meine Frage ist das. Gibt es eine Möglichkeit zu warten, bis der Prozess oder der Thread die gesamte Verarbeitung beendet hat und nur noch in der Nachrichtenschleife wartet?Automatisches Klicken Problem
Ich hoffe, dass es Sinn gemacht.
Prost
Ross
EDIT
andernfalls wäre es irgendwie möglich sein, das Verfahren/Threads des Zielprogramms und mein Programm sowohl den gleichen Prozessor verwenden zu setzen und die prioritorys einstellen von jedem, damit das Zielprogramm Präferenz erhält?
Diese Methode scheint einen eingebauten Nachteil darin zu haben, dass Antworten auf die gesendeten Nachrichten bestenfalls inkonsistent sind. Wenn Sie beispielsweise versuchen, diese Methode mit WM_NCLBUTTONDOWN/UP zu verwenden, um auf das Dateimenü im Editor zu klicken, wird die Menüschleife gestartet und dann sofort beendet, ohne dass das Menü angezeigt wird. – Ross