Страница: 1 |
Страница: 1 |
Вопрос: Загрузка?
Добавлено: 10.07.05 14:36
Автор вопроса:
KOKA
Товарищи эксперты!
Как узнать, когда посторонее приложение полностью загрузиться? Проблема в том, что при запуске левой программы требуеться узнать ее hWnd. Все бы ничего, так на загрузку этой программы нужно некоторое время, а hWnd тоже не успевает создаться. Использование Sleep, как-то некоректно, поскольку я не знаю точного времени загрузки. Может создание таймера или цикла? Но может есть и другие способы, включая API. Поскажите пожалуйста, посоветуйте!!!
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа: GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #1
Добавлено: 10.07.05 14:41
Process.WaitForInputIdle
Номер ответа: 2
Автор ответа: KOKA
Вопросов: 14
Ответов: 27
Профиль | | #2
Добавлено: 10.07.05 14:46
Я очень благодарен! А не поскажите как это можно осуществить еще в виде API функций или на VB 6.0?
Номер ответа: 3
Автор ответа: GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #3
Добавлено: 10.07.05 14:50
Номер ответа: 4
Автор ответа: KOKA
Вопросов: 14
Ответов: 27
Профиль | | #4
Добавлено: 10.07.05 15:07
И еще раз - огромное СПАСИБО! На засыпку: А что возвращает эта ф-ция, и как ее использовать! В любом случае благодарен!!!
Номер ответа: 5
Автор ответа: GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #5
Добавлено: 10.07.05 15:12
Ничего она не возвращает. Она, собственно, ждёт окончания загрузки.
Использовать - в .NET лучше не использовать, там метод есть.
В VB6 - смотря как запускается процесс. Если через Shell, то
h=openprocess(SYNCHRONIZE, 0, Shell("c:\1.exe")
WaitForInputIdle h, INFINITE
CloseHandle h
Если через CreateProcess, то WaitForInputIdle pi.hProcess, INFINITE.
Номер ответа: 6
Автор ответа: KOKA
Вопросов: 14
Ответов: 27
Профиль | | #6
Добавлено: 10.07.05 15:40
Вы меня осчастливили!
Весьма Вам признателен!!!