Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
Закрыть окно

Ветеран


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


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

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


Изменения
Автор: sov44
Дата: 05-09-2014
Во время включения компьютера не успевает загрузиться Miranda. Стоит плагин, который при ошибке подключения пытается подключиться вновь. В итоге имею подключенное соединение и окно, которое приходится каждый раз закрывать вручную.
Нужен скрипт Autoit, который из автозагрузки будет в течение 150 секунд проверять появление окна с ошибкой, если окно появилось, кликать ОК и завершать свою работу.
Попробовал написать сам, но код не работает
Код: Выделить весь код
$STITLE = "Ошибка ICQ"
While 1
	If WinWaitActive($STITLE, "", 150) Then
		ControlFocus($STITLE, "", Button1)
		Send("{OK}")
	Else
		Exit
	EndIf
WEnd

Отправлено: 21:03, 06-02-2014

 

Ветеран


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

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


sov44, хотелось бы понять, что это на самом деле значит:
Цитата sov44:
Во время включения компьютера не успевает загрузиться Miranda. »
?

Отправлено: 23:11, 06-02-2014 | #2



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

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


Ветеран


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

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


Миранда прописана в автозагрузку. Наверное правильнее будет написать, что сначала запускается миранда, затем у ПК появляется выход в интернет. Но не суть - вопрос по написанию скрипта.

Отправлено: 23:24, 06-02-2014 | #3


Ветеран


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

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


Суть. Установите посредством групповой политики параметр «Всегда ожидать инициализации сети» (на память, как-то так). Либо просто сделайте отложенный запуск Miranda.

P.S. Хотите вместо решения реальной проблемы изобретать новые «подпорки» — дело, конечно, Ваше.

Отправлено: 00:03, 07-02-2014 | #4

Cem Cem вне форума

Аватара для Cem

Новый участник


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

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


Цитата sov44:
Попробовал написать сам, но код не работает»
Попробуй так:
Код: Выделить весь код
$STITLE = "Ошибка ICQ"
$net_okna = 0
Do	
$tut_okno = WinExists($STITLE)    ; Проверяет наличие окна
Sleep (1000)                      ; Время ожидания перед следующей проверкой
Until   $net_okna < $tut_okno     ; Когда окно появилось...
ControlFocus($STITLE, "", Button1)     
 Send("{OK}")                     ; нажимается нужная кнопочка
Будь осторожен!!! Если окно не появится - этот цикл станет бесконечным.
Приведено, как пример, так сказать, для раздумий.

Вариант 2:
Код: Выделить весь код
$STITLE = "Ошибка ICQ"
$tvoe_okno = WinWait($STITLE, "", 150) ; 150 таймаут в секундах
If Not $tvoe_okno Then
    MsgBox(0, $tvoe_okno, 'Это окно, наверное, уже и не откроется. Уходим!')
    Exit
EndIf
Sleep(1000)    ; На 1 секунду показываем окно, перед тем как закрыть его.
WinClose($tvoe_okno)
Есть еще разные варианты и вариации.

Как по мне, то лучше убрать миранду из автозагрузки и написать скрипт, который будет дожидаться подключения к интернету и только при наличии подключения запустит миранду.

Отправлено: 11:57, 20-02-2014 | #5

Cem Cem вне форума

Аватара для Cem

Новый участник


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

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


Этот скрипт будет закрывать окно об ошибке каждый раз, до тех пор, пока не появится окно о подключении к сети.

Код: Выделить весь код
$STITLE = "Ошибка ICQ"
$STITLE2 = "ICQ В сети"  ; Или что-то в этом роде
$net_okna = 0
Do	
If WinExists($STITLE) Then    ; Проверяет наличие окна об ошибке
ControlFocus($STITLE, "", Button1)
Send("{OK}")
EndIf
Sleep (1000)                      ; Время ожидания перед следующей проверкой
$tut_okno = WinExists($STITLE2)   ; Проверяет наличие окна о подключении
Until   $net_okna < $tut_okno     ; Будет работать до тех пор пока не появится окно подключенной ICQ.
Ко времени не привязан, будь то 35 секунд, либо 151.

Отправлено: 12:12, 20-02-2014 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Закрыть окно и открыть новое McLotos AutoIt 2 15-04-2013 06:12
CMD/BAT - [решено] Закрыть окно trezyxct Скриптовые языки администрирования Windows 2 31-03-2011 17:14
Разное - HTML - закрыть всплывающее окно caustic Вебмастеру 0 23-03-2011 20:48
Delphi - Закрыть незакрываймое окно! D@n1k007 Программирование и базы данных 10 16-02-2010 22:39
Закрыть окно IE через JavaScript Котяра Вебмастеру 4 18-04-2008 23:35




 
Переход