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

Показать сообщение отдельно

Пользователь


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

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


Переделал этот скрипт - убрал по-моему ненужные "WinActivate...", "WinWaitActive...", "sleep...", добавил отсчет в 10 секунд на кнопке "да" на диалогах с вопросом о перезагрузке и снятие галочки "Больше не напоминать об установке этого драйвера".

И еще всё-таки подумал, что нужно сделать автоматический выбор первого драйвера при выборе из нескольких вариантов.

Программа бездействовала скорей всего из-за странностей с кнопками. Не раз замечал, что в одном и том же диалоге кнопка "Далее>" может быть Button4,8,9.... добавил их. Не заметил чтоб прога бездействовала.

Код: Выделить весь код
TraySetState(4)
TraySetClick (16)
TraySetToolTip("Автоматизация установки оборудования")
Opt("TrayAutoPause", 0)

$title="Установка оборудования"
$text = _
    'Поиск и установка драйверов оборудования' & @CRLF & _
    'пройдут в автоматическом режиме.'

;ToolTip($text,"885","662",$title,1,2)
TrayTip($title, $text ,10,1)

While 1
    ;"далее" при выборе из нескольких драйверов
	If WinExists("[CLASS:#32770]", "Сведения о подписывании драйверов") Then
;        WinActivate ("[CLASS:#32770]", "Сведения о подписывании драйверов")
 ;       WinWaitActive ("[CLASS:#32770]", "Сведения о подписывании драйверов")
		;sleep(500)
        ControlClick("[CLASS:#32770]","Сведения о подписывании драйверов","Button7")
    EndIf
	;жмем "Готово" (в случае, если мастеру не удалось найти более подходящий драйвер)
	If WinExists("[CLASS:#32770]","Мастеру не удалось найти более") Then
;		WinActivate("[CLASS:#32770]","Мастеру не удалось найти более")
;		WinWaitActive("[CLASS:#32770]","Мастеру не удалось найти более")
		;sleep(500)
		ControlClick("[CLASS:#32770]","Мастеру не удалось найти более","Button8")
	EndIf
	;зжмем "Готово" вариант №2 (в случае, если был установлен подходящий драйвер)
	If WinExists("[CLASS:#32770]","Мастер завершил установку") Then
;		WinActivate("[CLASS:#32770]","Мастер завершил установку")
;		WinWaitActive("[CLASS:#32770]","Мастер завершил установку")
		;sleep(500)
		;несколько вариантов кодов кнопок
		ControlClick("[CLASS:#32770]","Мастер завершил установку", "Button4")
		ControlClick("[CLASS:#32770]","Мастер завершил установку", "Button8")
		ControlClick("[CLASS:#32770]","Мастер завершил установку", "Button9")
		ControlClick("[CLASS:#32770]","Мастер завершил установку","Button17")
	EndIf
        ; задание Предупреждение при обновлении - жмем "Да"
     If WinExists("Предупреждение при обновлении драйвера","Установка этого драйвера") Then
;       WinActivate("Предупреждение при обновлении драйвера","Установка этого драйвера")
 ;       WinWaitActive("Предупреждение при обновлении драйвера","Установка этого драйвера")
		;sleep(500)
        ControlClick("Предупреждение при обновлении драйвера","Установка этого драйвера","Button1")
    EndIf
	; задание Мастер нового оборудования при старте системы *** - Жмем Готово
	If WinExists("[CLASS:#32770]","Установленное оборудование не")  Then
  ;      WinActivate ("[CLASS:#32770]","Установленное оборудование не")
   ;     WinWaitActive("[CLASS:#32770]","Установленное оборудование не")
		;sleep(500)
        ControlClick("[CLASS:#32770]","Установленное оборудование не","Button4")
	EndIf
	;жмем Далее
	If WinExists("[CLASS:#32770]","Этот мастер помогает") Then
    ;    WinActivate ("[CLASS:#32770]","Этот мастер помогает")
     ;   WinWaitActive("[CLASS:#32770]","Этот мастер помогает")
		;sleep(500)
		ControlClick("[CLASS:#32770]","Этот мастер помогает","Button7")
		ControlClick("[CLASS:#32770]","Этот мастер помогает","Button8")
	EndIf
	;жмем Готово, если не получилось найти драйвер
	If WinExists("[CLASS:#32770]","Оборудование не установлено,") Then
     ;   WinActivate ("[CLASS:#32770]","Оборудование не установлено,")
      ;  WinWaitActive("[CLASS:#32770]","Оборудование не установлено,")
		;sleep(500)
	;снимаем галочку "не напоминать об установке этого драйвера"
		ControlClick("[CLASS:#32770]","Оборудование не установлено,","Button1")
		sleep(500)
        ControlClick("[CLASS:#32770]","Оборудование не установлено,","Button9")
    EndIf
	; жмем Готово,  если обнаружена проблема при установке драйвера
	If WinExists("[CLASS:#32770]","Обнаружена проблема при устано") Then
    ;    WinActivate ("[CLASS:#32770]","Обнаружена проблема при устано")
    ;    WinWaitActive("[CLASS:#32770]","Обнаружена проблема при устано")
		;sleep(500)
	;снимаем галочку "не напоминать об установке этого драйвера"
		ControlClick("[CLASS:#32770]","Обнаружена проблема при устано,","Button1")
		sleep(500)
        ControlClick("[CLASS:#32770]","Обнаружена проблема при устано","Button9")
    EndIf
	; задание Установка оборудования=установка nonWHQL драйвера - Жмем Готово
    If WinExists("Установка оборудования","Установка этого программного") Then
        WinActivate ("Установка оборудования","Установка этого программного")
	;   WinWaitActive("Установка оборудования","Установка этого программного")
	;	sleep(500)
		ControlClick("Установка оборудования","Установка этого программного","Button1")
	EndIf
	; задание запасное - Предупреждение при установке нового драйвера. Жмем Да
	If WinExists("Предупреждение при установке нового драйвера") Then
        WinActivate("Предупреждение при установке нового драйвера")
        WinWaitActive("Предупреждение при установке нового драйвера")
		sleep(500)
        Send("{ENTER}")
    EndIf
	; задание перезагрузка системы при необходимости
    If WinExists("Изменение параметров системы", "перезагрузк") Then
;        WinActivate ("Изменение параметров системы","перезагрузк")
		$TimerInit = TimerInit()
		$iTime = 10
			While $iTime > 0
				ControlSetText("Изменение параметров системы", "перезагрузк", "Button1", StringFormat("Да (" & $iTime & ")"))
				$iTime -= 1
				Sleep(1000)
				If not WinExists("Изменение параметров системы", "перезагрузк") Then exit
			Wend
		ControlClick ("Изменение параметров системы","перезагрузк", "Button1")
	EndIf		
Wend

Последний раз редактировалось Smokie_id11243755, 05-09-2010 в 14:18.

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

Отправлено: 11:02, 28-08-2010 | #2