Problem mit WaitForInputIdle
-
Hallo, ich hab das folgende Problem:
Ich starte zunächst eine externe Datei mit dem CreateProcess-Befehl.
Nun warte ich mit dem Befehl WaitForInputIdle bis das Fenster für eine Tastatureingabe empfänglich ist.while(WaitForInputIdle(ProcessInfo.hProcess, INFINITE) == WAIT_TIMEOUT { // Fenster neu zeichnen }Das funktioniert auch in 90% aller Fälle. Jetzt habe ich eine Anwendung (ssh), wo die Datei zwar gestartet wird, die mein Programm dann aber blockiert, da anscheinend keine Nachricht zurückgesendet wird, das diese Anwendung für den Benutzer zugänglich ist.
Habe jetzt mit:
WaitForInputIdle(ProcessInfo.hProcess, 5000) == 0)eine Testlösung gefunden, die ich so aber auf keinen Fall behalten möchte. Das Programm würde demnach nach 5 Sekunden mit der Programmausführung fortsetzen.
Wie gehe ich am besten vor um bei allen Programmen wirklich so lange zu warten, bis sie für Tastatur- und Mauseingaben empfänglich sind und dass es bei Problemfällen trotzdem weiter geht?
