Smokie_id11243755 |
28-08-2010 11:02 1483357 |
Переделал этот скрипт - убрал по-моему ненужные "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
|