-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
Создать скриншот окна при его появлении
Ждем окна с заголовком "Заголовок". При его появлении делаем его скриншот. Как реализовать?
|
Все отлично! Сработало так:
Код:
#include <ScreenCapture.au3>
$sTitle = "Заголовок"
$hWin = WinWaitActive($sTitle)
_ScreenCapture_CaptureWnd("c:\Screen.jpg", $hWin)
Но вскрылась проблема. Если окно видимо достаточно долго (около секунды) - все работает, а если оно появляется буквально на немного (доли секунд - появилось и тут же пользователь его закрыл нажатием ESC), то вместо скрина пустой файл-jpg c размером около 600 байт. Есть предположение что не успевает скрипт. Что делать в таком случае? Готов принять варианты не только на AutoIt.
|
Цитата:
Цитата xor++
Что делать в таком случае? »
|
Уменьшить паузу ожидания окна:
Код:
Opt("WinWaitDelay", 0)
(добавить в начало скрипта, перед Win* функциями)
|
Отлично!
Код:
Opt("WinWaitDelay", 70)
подошло. При 0 не успевает прорисовываться - скрин бракованный. При 100 я успеваю закрыть окно по ESC. При 70 ЗАРАБОТАЛО:)
|
Время: 18:21.
© OSzone.net 2001-