Wie kann ich programmgesteuert (in C#) bestimmen, ob eine ANDERE fremde Anwendung (nativ, Java, .NET oder was auch immer ...) gerade Benutzereingaben verlangt? Kann dies vollständig in verwaltetem Code erfolgen?Programmgesteuert herausfinden, ob ein Prozess Benutzereingaben erfordert
Was ich suche ist die Umsetzung:
static Boolean IsWaitingForUserInput(String processName)
{
???
}
Durch anspruchsvolle Benutzereingabe ich meine, wenn eine Anwendung den Benutzer auffordert, einige Daten oder beenden eine Fehlermeldung (Modal Dialoge) und ist nicht zu betreten kann seine normalen Aufgaben nicht mehr ausführen. Eine Zeichenanwendung, die darauf wartet, dass der Benutzer etwas zeichnet, ist hier nicht gemeint.
PS: Nach Änderungen, die die Kommentare am Ende widerspiegeln und die Bedenken deutlicher machen, stimmen einige Kommentare und Antworten möglicherweise nicht zu 100% mit der Frage überein. Berücksichtigen Sie dies bei der Auswertung der Antworten und Bemerkungen.
Können Sie "Warten auf Benutzereingabe" in einer GUI-Anwendung definieren? Ist ein Mausklick nicht auch Benutzereingabe? –
Indem ich auf Benutzereingaben warte, meine ich alles, was dem Drittanbieter-Tool vorwirft, mit seiner Arbeit automatisch fortzufahren.Dazu gehört das Warten auf das Beenden eines Dialogfeldes (in den meisten Fällen eine Fehlermeldung) – jdehaan
Verstehe ich Sie gut, dass "das Third-Party-Tool" und die "ANDERE fremde Anwendung" beide auf dieselbe Anwendung verweisen, deren Status willst du das überprüfen? –