WaitForInputIdle-Funktion (winuser.h)
Wartet, bis der angegebene Prozess die Verarbeitung der anfänglichen Eingabe abgeschlossen hat und auf Benutzereingaben ohne ausstehende Eingabe wartet oder bis das Timeoutintervall abgelaufen ist.
Syntax
DWORD WaitForInputIdle(
[in] HANDLE hProcess,
[in] DWORD dwMilliseconds
);
Parameter
[in] hProcess
Ein Handle für den Prozess. Wenn es sich bei diesem Prozess um eine Konsolenanwendung handelt oder keine Nachrichtenwarteschlange vorhanden ist, wird WaitForInputIdle sofort zurückgegeben.
[in] dwMilliseconds
Das Timeoutintervall in Millisekunden. Wenn dwMilliseconds UNENDLICH ist, wird die Funktion erst zurückgegeben, wenn sich der Prozess im Leerlauf befindet.
Rückgabewert
Die folgende Tabelle zeigt die möglichen Rückgabewerte für diese Funktion.
Rückgabecode/-wert | BESCHREIBUNG |
---|---|
|
Die Wartezeit wurde erfolgreich erfüllt. |
|
Die Wartezeit wurde beendet, weil das Timeoutintervall verstrichen ist. |
|
Ein Fehler ist aufgetreten. |
Hinweise
Die WaitForInputIdle-Funktion ermöglicht es einem Thread, seine Ausführung anzuhalten, bis der angegebene Prozess seine Initialisierung abgeschlossen hat und auf eine Benutzereingabe wartet, ohne dass eine Eingabe aussteht. Wenn der Prozess über mehrere Threads verfügt, wird die WaitForInputIdle-Funktion zurückgegeben, sobald sich ein Thread im Leerlauf befindet.
WaitForInputIdle kann jederzeit verwendet werden, nicht nur während des Anwendungsstarts. WaitForInputIdle wartet jedoch nur einmal, bis ein Prozess im Leerlauf ist. Nachfolgende WaitForInputIdle-Aufrufe geben sofort zurück, unabhängig davon, ob sich der Prozess im Leerlauf befindet oder ausgelastet ist.
WaitForInputIdle kann nützlich sein, um einen übergeordneten Prozess und einen neu erstellten untergeordneten Prozess zu synchronisieren. Wenn ein übergeordneter Prozess einen untergeordneten Prozess erstellt, wird die CreateProcess-Funktion zurückgegeben, ohne darauf zu warten, dass der untergeordnete Prozess seine Initialisierung abgeschlossen hat. Bevor er versucht, mit dem untergeordneten Prozess zu kommunizieren, kann der übergeordnete Prozess die WaitForInputIdle-Funktion verwenden, um zu bestimmen, wann die Initialisierung des untergeordneten Elements abgeschlossen wurde. Beispielsweise sollte der übergeordnete Prozess die WaitForInputIdle-Funktion verwenden, bevor versucht wird, ein Fenster zu finden, das dem untergeordneten Prozess zugeordnet ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winuser.h (einschließlich Windows.h) |
Bibliothek | User32.lib |
DLL | User32.dll |
APIs | ext-ms-win-ntuser-misc-l1-1-0 (eingeführt in Windows 8) |