Циклично скриншотирую полнооткрытую страницу IE с открытым всплывающим-из-трея-окном-календаря/времени (в win7)... (в цикле меняются адреса страниц)
Открываю это всплывающее окно из трея с помощью программного нажатия мышью по часам в трее (после каждой полной загрузки страницы в IE):
- Код: Выделить всё
SetCursorPos + mouse_event (MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
Все получается, вот только момент полной прорисовки этого всплывающего окна не могу отследить достоверно ДО скриншотирования (то есть без работы с точками скриншота)...
Пробовал и
- Код: Выделить всё
hWndClockFlyoutWindow = FindWindow("ClockFlyoutWindow", vbNullString)
и
- Код: Выделить всё
r = GetWindowThreadProcessId(hWndClockFlyoutWindow, pID)
pHandle = OpenProcess(&H100000, True, pID)
WaitForInputIdle pHandle, &HFFFF
CloseHandle pHandle
За неимением вариантов - делаю паузу через Sleep или DoEvents длиной около секунды... Однако задача будет выполняться и на других компьютерах, где паузы может не хватить... Да и время на паузы тратить жалко (цикл может быть большим)...)))
Как я предполагаю, это всплывающее окно календаря/времени - та еще штучка, так просто не вызывается и не отслеживается...
В общем, вопрос: кто-то знает, как можно отследить полную прорисовку этого окна без скриншотирования экрана?
Или, если таковое невозможно, помогите пжст с идеями - как не наугад (паузой), а достоверно, дождаться готовности этого окошка к "фотографированию".