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

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

Ответить
Настройки темы
Запуск 2GIS - пропуск первого окна, закрытие последнего.

Аватара для vxor

Старожил


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


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

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


Имеется 2GIS.
В начале запуска появляется окно с кнопкой "Далее". При нажатии на кнопку "Далее" или при нажатии ESC или при нажатии Alt+F4 - происходит запуск самой программы - карты.
Требуется при запуске 2GIS любыми путями избежать нажатия на кнопку "Далее" или нажатия ESC или Alt+F4. Вообщем чтобы автоматом происходила загрузка карты.

При закрытии появляется последнее окно с надписью "Esc - выход".
Требуется при закрытии 2GIS любыми путями автоматом и как можно быстрее скрывать это окно.

Код: Выделить весь код
#NoTrayIcon
#cs ----------------------------------------------------------------------------
 AutoIt Version: 3.3.8.1
 Author:         myName
 Script Function:
	Template AutoIt script.
#ce ----------------------------------------------------------------------------
Opt("WinDetectHiddenText", 1)

Dim $i
$i = 0

;~ Запускаем карту..
Run("grym.exe")

;~ Ждем минуту появления первого рекламного окна..
While 1
    Sleep(10)
    If WinExists("[REGEXPTITLE:.*\Городская информационная система 2ГИС]") Then
		WinSetTrans("[REGEXPTITLE:.*\Городская информационная система 2ГИС]","", 0)
        WinClose("[REGEXPTITLE:.*\Городская информационная система 2ГИС]")  ; и закрываем его при появлении
		Sleep(100)
		If Not WinExists("[REGEXPTITLE:.*\Городская информационная система 2ГИС]") Then ExitLoop ; если оно исчезло (проверка) то выходим из этого цикла ожидания
    Else
		if $i = 6000 Then
			MsgBox(0,"msg", "недождались..") ; недождались - завершаем работу скрипта
		EndIf
		$i = $i + 1
    EndIf
WEnd

;~ Ждем минуту появления последнего рекламного окна..
While 1
	Sleep(10)
    If WinExists("2ГИС") Then
		WinSetTrans("2ГИС","", 0)
        WinClose("2ГИС") ; и закрываем его при появлении
		Sleep(1000)
		If Not WinExists("2ГИС") Then
			ExitLoop ; если оно исчезло (проверка) то выходим из этого цикла ожидания
		EndIf
	Else
		if Not WinExists("[REGEXPTITLE:.*\ - 2ГИС]") Then
			Sleep(4000)
			if Not WinExists("[REGEXPTITLE:.*\ - 2ГИС]") Then
				ExitLoop ; программа закрыта не корректно - завершаем работу скрипта
			EndIf
		EndIf
    EndIf
WEnd
Написал код выше. Он работает. Но второе окно (возникающее, при закрытии программы) на долю секунды мигает перед тем, как закрыться. С первым окном этого не происходит.
Вопросы:
1. Как избежать появления на долю последнего окна?
2. Как сделать все тоже самое только более правильно?

Отправлено: 16:38, 01-03-2012

 


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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [addon] конструктор ДубльГИС (2Gis) BrAWo Наборы обновлений для Windows XP/2003/Windows 7 43 17-06-2013 22:16
[решено] Автоматическое закрытие окна LilLoco Хочу все знать 3 07-02-2011 13:43
[решено] Не получается закрытие окна InputBox и прерывание работы скрипта sashadeg AutoIt 2 24-02-2009 16:13
[решено] Как заблокировать атоматическое закрытие окна MS-DOS? xden777 Программное обеспечение Windows 5 14-01-2008 11:05
Закрытие окна Internet Explorer rhtu Автоматическая установка приложений 3 02-03-2006 04:21




 
Переход