Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Создать скриншот окна при его появлении

Ответить
Настройки темы
[решено] Создать скриншот окна при его появлении

Аватара для vxor

Старожил


Сообщения: 206
Благодарности: 3


Конфигурация

Профиль | Отправить PM | Цитировать


Ждем окна с заголовком "Заголовок". При его появлении делаем его скриншот. Как реализовать?

Отправлено: 15:05, 12-11-2011

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Код: Выделить весь код
#include <ScreenCapture.au3>

$sTitle = "Заголовок"

$hWin = WinWait($sTitle)
WinActivate($sTitle)
WinWaitActive($sTitle)

_ScreenCapture_CaptureWnd(@DesktopDir & "\Screen.jpg", $hWin)

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:31, 12-11-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для vxor

Старожил


Сообщения: 206
Благодарности: 3

Профиль | Отправить PM | Цитировать


Все отлично! Сработало так:
Код: Выделить весь код
#include <ScreenCapture.au3>
$sTitle = "Заголовок"
$hWin = WinWaitActive($sTitle)
_ScreenCapture_CaptureWnd("c:\Screen.jpg", $hWin)
Но вскрылась проблема. Если окно видимо достаточно долго (около секунды) - все работает, а если оно появляется буквально на немного (доли секунд - появилось и тут же пользователь его закрыл нажатием ESC), то вместо скрина пустой файл-jpg c размером около 600 байт. Есть предположение что не успевает скрипт. Что делать в таком случае? Готов принять варианты не только на AutoIt.

Отправлено: 21:49, 12-11-2011 | #3


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата xor++:
Что делать в таком случае? »
Уменьшить паузу ожидания окна:

Код: Выделить весь код
Opt("WinWaitDelay", 0)
(добавить в начало скрипта, перед Win* функциями)

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:09, 12-11-2011 | #4


Аватара для vxor

Старожил


Сообщения: 206
Благодарности: 3

Профиль | Отправить PM | Цитировать


Отлично!
Код: Выделить весь код
Opt("WinWaitDelay", 70)
подошло. При 0 не успевает прорисовываться - скрин бракованный. При 100 я успеваю закрыть окно по ESC. При 70 ЗАРАБОТАЛО

Отправлено: 22:29, 12-11-2011 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Создать скриншот окна при его появлении

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Как сделать скриншот скрытого окна? centaurvv AutoIt 6 14-03-2011 05:14
Загрузка - [решено] при появлении рабочего стола завершает работу ОС kasperq1 Microsoft Windows Vista 7 05-10-2010 07:54
Разное - При появлении трафика тормозит система Windows Vista 64 bezikus Microsoft Windows Vista 2 21-10-2009 21:29
[решено] Как выкл перезагрузку при появлении BSOD Bullet-Avalon Хочу все знать 1 19-05-2009 11:48
Установка - при инсталяции Vista Business зависает при появлении ProgressBar. _ib_ Microsoft Windows Vista 5 18-09-2008 05:17




 
Переход