В этой статье мы вновь вернемся к замечательной программе AutoHotkey, которая позволяет до невиданных пределов автоматизировать работу с Windows любых версий. Не поленитесь, прочитайте статью о макросах AutoHotkey – возможно, она натолкнет вас на полезные мысли и вы поднимите ленивую думательную мышцу со стула, чтобы научиться созданию полезных макросов.

Тем кто начал изучать AutoHotkey, в Windows 7 и Windows Vista уготован не особо приятный сюрприз. В этих ОС, как выясняется, скрипт нельзя запустить по умолчанию от имени администратора. А это значит, что макросы не смогут взаимодействовать с окнами при работе в режиме администратора. Ну и что тут можно сделать?

Решений, в сущности, всего три.

  • Полностью отключить UAC. Но это не всегда полезное решение с точки зрения безопасности, впрочем, дело ваше.
  • Скомпилировать макрос для запуска в качестве исполняемого файла.
  • Изменить системный реестр, чтобы добавить строку Запуск от имени администратора в контекстное меню.

С первым способом все понятно, так что опишем два других.

Компиляция скрипта AutoHotkey в исполняемый файл

Ну это проще некуда. Достаточно щелкнуть правой кнопкой мыши на значке скрипта и выбрать команду Compile Script.

AutoHotkey

Затем скомпилированный скрипт можно без проблем запустить с правами администратора.

win-0004

Конечно, это решение далеко от идеального. Если вам приходится часто изменять скрипт, то постоянно его компилировать – это не дело. Так что второй вариант подойдет лучше всего.

Изменяем системный реестр

Щелкните на кнопке Пуск и введите в строке поиска запрос regedit, нажмите клавишу <Enter>. Теперь перейдите в следующую строку меню:

HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell

Щелкните правой кнопкой мыши на папке Shell и создайте новый раздел с названием runas. Затем зайдите в него и создайте вложенный раздел Command.

win-0006

Теперь в разделе Command создайте два следующих значения, указанных ниже (они же показаны на рисунке вверху), щелкнув правой кнопкой мыши и выбрав команду Создать > Строковый раздел.

(По умолчанию) “C:\Program Files\AutoHotkey\AutoHotkey.exe” “%1” %* IsolatedCommand “C:\Program Files\AutoHotkey\AutoHotkey.exe” “%1” %*

Ключ (По умолчанию) будет в разделе изначально, так что для него нужно лишь ввести требуемое значение.

В результате, мы добились своего – скрипт AutoHotkey можно запустить от имени администратора, что нам и было нужно.

win-0007