Здравствуйте Sergey, Вы писали:
N>>>>WaitForInputIdle не срабатывает, т.к. работает с процессом, а он "усегда готов!" S>>> А WH_FOREGROUNDIDLE не помогает?
N>>это не одно и тоже? как я понял WaitForInputIdle ((HANDLE)hProcess, INFINITE) срабатывает, когда hProcess как раз становиться в Idle т.е. ждет ввода. WH_FOREGROUNDIDLE будет привязян к потоку/процессу, а мне, скорее, надо к окну. N>>Или я чего не понимаю? S> Разница в том, что WaitForInputIdle — для процесса (его primary потока), а WH_FOREGROUNDIDLE — для любого потока. Если диалог создается не в основном потоке, может помочь.
Начнем с того, что WaitForInputIdle работает со всеми потоками процесса, а не только с главным.
А WH_FOREGROUNDIDLE срабатывает когда "a hook procedure that will be called when the application's foreground thread is about to become idle", т.е. когда активное окно потока выходит на idle.