Fungsi WaitForInputIdle (winuser.h)
Menunggu hingga proses yang ditentukan selesai memproses input awalnya dan menunggu input pengguna tanpa input tertunda, atau hingga interval waktu habis berlalu.
Sintaks
DWORD WaitForInputIdle(
[in] HANDLE hProcess,
[in] DWORD dwMilliseconds
);
Parameter
[in] hProcess
Handel untuk proses. Jika proses ini adalah aplikasi konsol atau tidak memiliki antrean pesan, WaitForInputIdle akan segera kembali.
[in] dwMilliseconds
Interval waktu habis, dalam milidetik. Jika dwMilliseconds adalah INFINITE, fungsi tidak akan kembali hingga proses diam.
Nilai kembali
Tabel berikut ini memperlihatkan kemungkinan nilai pengembalian untuk fungsi ini.
Mengembalikan kode/nilai | Deskripsi |
---|---|
|
Penantian berhasil terpenuhi. |
|
Waktu tunggu dihentikan karena interval waktu habis berlalu. |
|
Terjadi kesalahan. |
Keterangan
Fungsi WaitForInputIdle memungkinkan utas untuk menangguhkan eksekusinya sampai proses yang ditentukan selesai inisialisasinya dan menunggu input pengguna tanpa input tertunda. Jika proses memiliki beberapa utas, fungsi WaitForInputIdle akan kembali segera setelah utas apa pun diam.
WaitForInputIdle dapat digunakan kapan saja, bukan hanya selama startup aplikasi. Namun, WaitForInputIdle hanya menunggu sekali agar proses menjadi diam; Panggilan WaitForInputIdle berikutnya segera kembali, apakah prosesnya diam atau sibuk.
WaitForInputIdle dapat berguna untuk menyinkronkan proses induk dan proses anak yang baru dibuat. Ketika proses induk membuat proses turunan, fungsi CreateProcess kembali tanpa menunggu proses turunan menyelesaikan inisialisasinya. Sebelum mencoba berkomunikasi dengan proses anak, proses induk dapat menggunakan fungsi WaitForInputIdle untuk menentukan kapan inisialisasi anak telah selesai. Misalnya, proses induk harus menggunakan fungsi WaitForInputIdle sebelum mencoba menemukan jendela yang terkait dengan proses anak.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winuser.h (termasuk Windows.h) |
Pustaka | User32.lib |
DLL | User32.dll |
Set API | ext-ms-win-ntuser-misc-l1-1-0 (diperkenalkan dalam Windows 8) |