![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по WaitForinputIdle...
tipman © (2003-07-17 10:12:00)
В helpe про эту функцию написано что она вернёт ноль тогда, когда пользователь что нить сделает с приложением (н.р. кликнет мышкой на форме).
Далее. Мне, например, нужно загрузить Corel или Photoshop. И она возвращается когда появляется основное окно, а программа продолжает загружаться отображая при этом заставку.
Как дождаться полной загрузки приложения? Т.е. тот момент когда приложение начнёт отвечать на действия пользователя?
Digitman (2003-07-17 11:53:00) [1]
> tipman
Читать надо внимательней)... А ты явно не дочитал
For example, the parent process should use WaitForInputIdle before trying to find a window associated with the child process.
О чем это говорит ? О том, что в ходе инициализации, например, GUI-приложения он (процесс приложения) создает главное окно и организует цикл ожидания/диспетчеризации/обработки сообщений в очереди, организуемой для этого окна системой. Не вдаваясь в подробности и попросту говоря, наличие этого факта (факта создания целевым процессом первого же окна верхнего уровня и хотя бы однократный вызов им одной из ф-ций ожидания/приема оконных сообщений) как раз и определяет ф-ция WaitForInputIdle().
tipman (2003-07-17 10:38:00) [2]
Так всётаки как дождаться полной загрузки приложения? Т.е. тот момент когда приложение начнёт отвечать на действия пользователя?
Может быть какими то другими средствами?
(а в helpe написано - "ждёт пока процесс бездействует", что же тогда это значит?)
Song (2003-07-17 10:16:00) [3]
> В helpe про эту функцию написано что она вернёт ноль тогда,
> когда пользователь что нить сделает с приложением (н.р.
> кликнет мышкой на форме).
Чушь, там не так написано.
> И она возвращается когда появляется основное окно, а программа
> продолжает загружаться отображая при этом заставку.
Вероятно такое поведение она конечно не отследит, чего ты хочешь? Параметры, про которые ты говоришь, загружаются уже после старта приложения. Вот этот старт WaitForInputIdle и отслеживает.