Re[5]: Ожидание создания диалога
От: Sergey Россия  
Дата: 11.01.02 11:45
Оценка:
Здравствуйте TSS, Вы писали:

TSS>Здравствуйте Sergey, Вы писали:


N>>>>>WaitForInputIdle не срабатывает, т.к. работает с процессом, а он "усегда готов!"

S>>>> А WH_FOREGROUNDIDLE не помогает?

N>>>это не одно и тоже? как я понял WaitForInputIdle ((HANDLE)hProcess, INFINITE) срабатывает, когда hProcess как раз становиться в Idle т.е. ждет ввода. WH_FOREGROUNDIDLE будет привязян к потоку/процессу, а мне, скорее, надо к окну.

N>>>Или я чего не понимаю?
S>> Разница в том, что WaitForInputIdle — для процесса (его primary потока), а WH_FOREGROUNDIDLE — для любого потока. Если диалог создается не в основном потоке, может помочь.

TSS>Начнем с того, что WaitForInputIdle работает со всеми потоками процесса, а не только с главным.

Откуда сведения? Если главный поток создал дочерний со своей очередью сообщений, то чего будет ждать WaitForInputIdle — когда обе очереди пустые или любая из них пустая?
TSS>А WH_FOREGROUNDIDLE срабатывает когда "a hook procedure that will be called when the application's foreground thread is about to become idle", т.е. когда активное окно потока выходит на idle.
Что-то я не заметил слова "окно" в английмком тексте .
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.