Что нового

[Время, дата] Ошибка при отключении синхронизации времени через GUI средствами AutoIt

Greyzer

Новичок
Сообщения
28
Репутация
0
Здравствуйте! В общем пытаюсь снять галки в настройках даты и времени таким вот нехитрым образом:
Код:
Run(@ComSpec&" /c "&"timedate.cpl")
WinWait($DateTimeTitle)
ControlCommand($DateTimeTitle, "", "[CLASS:Button; INSTANCE:3; ID:127]", "UnCheck", "")
ControlCommand($DateTimeTitle, "", "[CLASS:Button; INSTANCE:2; ID:126]", "Check", "")
WinWait("Выбор часового пояса")
ControlCommand("Выбор часового пояса", "", "[CLASS:Button; INSTANCE:1; ID:127]", "UnCheck", "")
ControlCommand("Выбор часового пояса", "", "[CLASS:Button; INSTANCE:2; ID:1]", "Check", "")
ControlCommand($DateTimeTitle, "", "[CLASS:SysTabControl32; INSTANCE:1; ID:12320]", "TabRight", "")
ControlCommand($DateTimeTitle, "", "[CLASS:SysTabControl32; INSTANCE:1; ID:12320]", "TabRight", "")
WinWait($DateTimeTitle, "Подробнее о синхронизации времени по Интернету")
ControlCommand($DateTimeTitle, "", "[CLASS:Button; INSTANCE:1; ID:827]", "Check", "")
WinWait("Настройка времени по Интернету")
ControlCommand("Настройка времени по Интернету", "", "[CLASS:Button; INSTANCE:1; ID:820]", "UnCheck", "")
ControlCommand("Настройка времени по Интернету", "", "[CLASS:Button; INSTANCE:3; ID:1]", "Check", "")
Проблема в том, что возникает вот такая вот ошибка:

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

erlik

Продвинутый
Сообщения
317
Репутация
84
У меня твой вариант работает. Никаких ошибок, только для выхода из апплета "Дата и время" нужно дописать клик еще по одной кнопке OK.
Код:
ControlCommand($DateTimeTitle, "", "[CLASS:Button; INSTANCE:2; ID:1]", "Check", "")

А вообще все это можно и через реестр делать.
 

erlik

Продвинутый
Сообщения
317
Репутация
84
Если только отключение синхронизации, то RegShot (очень хорошая прога для отслеживания изменений реестра) мне выдал вот эти значения:
Код:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time]
"Start"=dword:00000003  ; включено
"Start"=dword:00000004  ; отключено
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Parameters]
"Type"="NTP"       ; включено
"Type"="NoSync"  ; отключено

Соответственно, используем стандартные функции AutoIT для работы с реестром и меняем значения на нужные.
 
Автор
G

Greyzer

Новичок
Сообщения
28
Репутация
0
erlik сказал(а):
RegShot (очень хорошая прога для отслеживания изменений реестра)
Вот за это отдельное спасибо! ;)
А вообще решил пока проблему ControlClick'ом по кнопке Ok в окошке диалога с ошибкой. :smile:
Вообще как я понял ошибка эта связана с уровнем привилегий по-видимому, т.к. при отключенном UAC такой проблемы не возникает.
Ну и значок иссине-желтого щитка на кнопке "Изменить параметры..." подсказывает, что проблема кроется в этом.
 
Верх