Всем Доброго Дня, ситуация следующая: я написал скрипт, который меняет Параметр реестра, отвечающий за приоритет CPU и I/O для программ в автозагрузке (статья Вадима Стеркина "Ускорение загрузки Windows одним твиком реестра"). Скрипт отрабатывает нормально без ошибок, но после того, как откроешь редактор реестра вновь, то параметр остается таким же, какой он был до того как его изменили, т.е. равным нулю. Пробовал и с помощью кнопок взаимодействовать, тоже не получилось, последний раз сделал с помощью кликов мышки- опять не сохранилось значение, хотя скрипт отрабатывает без ошибок. Изначально на тот раздел реестра имеет права на чтение и запись только TrustedInstaller, мне нужно дать права на запись учетной записи "Администратор", после изменения значения вернуть права по умолчанию. Заранее спасибо. Вручную проделывать эту операцию довольно муторно, хотелось бы автоматизировать этот процесс.
Вот мой скрипт.
Вот мой скрипт.
Код:
#RequireAdmin ;Запускаем от "Администратора"
AutoItSetOption('MouseCoordMode', 2) ;устанавливаем отсчет координат относительно клиентской области активного окна
AutoItSetOption('PixelCoordMode', 2) ;устанавливаем способ отсчёта координат используемый в Pixel-функциях относительно клиентской области активного окна
Run('regedit') ;Запуск редактора реестра
Sleep(1500)
WinActivate('Редактор реестра')
WinMenuSelectItem('Редактор реестра', '', '&Правка', '&Найти... CTRL+F')
WinActivate('Поиск')
MouseClick('Left', 24, 108)
Sleep(1500)
MouseClick('Left', 23, 88)
Sleep(1500)
MouseClick('Left', 101, 19)
Sleep(1500)
Send('DelayedApps')
Sleep(1500)
MouseClick('Left', 349, 20)
WinWaitActive('Редактор реестра')
Sleep(1500)
WinMenuSelectItem('Редактор реестра', '', '&Правка', 'Разре&шения...')
Sleep(1500)
WinActivate('Разрешения для группы "DelayedApps"')
MouseClick('Left', 287, 337)
Sleep(1500)
WinActivate('Дополнительные параметры безопасности для "DelayedApps"')
Sleep(1500)
MouseClick('left', 154, 18)
Sleep(1500)
; Найти зеленый пиксель в прямоугольнике 0,0-603, 397 Цвет: 0x63AD98. Это выбрано для того, чтобы скрипт выбрал пользователя, т.к. учетная запись может быть выше или ниже учетной записи "Администратор" и значек у него отличается по цвету и ни одной программой я не смог получить информацию что написано в том окне. Пришлось таким способом и он работает без ошибок.
$coord = PixelSearch(8, 9, 611, 406, 0x63AD98)
If Not @error Then
MouseMove($coord [0], $coord [1], 2)
Sleep(2500)
MouseClick('left', $coord [0], $coord [1], 2)
EndIf
Sleep(1500)
MouseClick('Left', 25, 361)
Sleep(1500)
MouseClick('Left', 404, 426)
WinActivate('Разрешения для группы "DelayedApps"')
Send('{TAB 5}')
Sleep(1500)
Send('{DOWN}')
MouseClick('Left', 238, 232)
Sleep(1500)
MouseClick('Left', 294, 406)
Sleep(1500)
MouseClick('Left', 154, 403)
Sleep(1500)
Send('{TAB}')
Sleep(1500)
Send('{DOWN 4}')
Sleep(1500)
Send('{ENTER}')
Sleep(1500)
WinActivate('Изменение параметра DWORD (32 бита)')
Mouseclick('Left', 178, 104)
Sleep(1500)
MouseClick('Left', 25, 84)
Sleep(1500)
Send('{BACKSPACE}')
Sleep(1500)
Send('120')
MouseClick('Left', 199, 142)
Sleep(1500)
WinMenuSelectItem('Редактор реестра', '', '&Правка', 'Разре&шения...')
Send('{DOWN}')
Mouseclick('Left', 237, 234)
Sleep(1500)
MouseClick('Left', 288, 337)
Sleep(1500)
WinActivate('Дополнительные параметры безопасности для "DelayedApps"')
MouseClick('Left', 157, 19)
Sleep(1500)
MouseClick('Left', 141, 325)
Sleep(1500)
Send('NT Service\TrustedInstaller')
Sleep(1500)
MouseClick('Left', 344, 201)
Sleep(1500)
MouseClick('Left', 28, 364)
Sleep(1500)
MouseClick('Left', 412, 427)
WinActivate('Разрешения для группы "DelayedApps"')
Sleep(1500)
MouseClick('Left', 296, 404)
Sleep(1500)
MouseClick('Left', 161, 400)
Sleep(1500)
WinClose('Редактор реестра')