Здравствуйте Sergey, Вы писали:
TSS>>Начнем с того, что WaitForInputIdle работает со всеми потоками процесса, а не только с главным.
S> Откуда сведения? Если главный поток создал дочерний со своей очередью сообщений, то чего будет ждать WaitForInputIdle — когда обе очереди пустые или любая из них пустая?
Чистейший здравый смысл, да и где-то в KB статья была, только, к сожалению, я её с ходу не нашел.
Идея такова. Как известно, очередь сообщений, как таковая, для каждого потока своя и она одна. Если в WaitForInputIdle() не передаеться HANDLE потока, значит мы не определяем, какую из очередей потоков процесса мы хотим пользовать.
TSS>>А WH_FOREGROUNDIDLE срабатывает когда "a hook procedure that will be called when the application's foreground thread is about to become idle", т.е. когда активное окно потока выходит на idle.
S> Что-то я не заметил слова "окно" в английмком тексте
.
Поймал...
Обычнох для окна. А так -- не обязательно. Этот хук вообще касаеться очереди сообщений.
Кста, сработает он в любом случае, только для
активного потока, а не
любого.