1

В Windows 7 моя копия gVim неожиданно вызвала всплывающее окно « Контроль учетных записей пользователей ». Хотите, чтобы следующая программа от неизвестного издателя внесла изменения на этом компьютере?"

Насколько я могу судить, это началось без видимой причины:

  • Центр обновления Windows последний раз работал 3 дня назад.
  • Я использовал gVim много раз с тех пор.
  • Ранее я использовал ту же самую копию gVim без этого в течение 6+ месяцев.
  • Я не думаю, что я изменил какие-либо настройки типа панели управления

Это проблема, потому что: если я выберу "Да", то gVim запускается и, кажется, работает ... кроме разрывов AutoHotkey. Я использовал AutoHotkey для переназначения Caps Lock на Escape (очень полезно для vim), который перестает работать внутри gVim. Перераспределение ключей продолжает работать в других программах, включая терминал vim в Mingw.

Кто-нибудь знает, что может происходить?

2 ответа2

0

Обновление до vim версии 8 решило проблему на моем компьютере - UAC больше не запускается, и vim может работать от имени администратора.

0

Окно UAC работает в своем собственном защищенном процессе и на рабочем столе, который отделен от рабочего стола обычного пользователя. Любые программы, уже запущенные в пространстве этого пользователя, не могут, например, подделывать нажатия клавиш или жесты мыши.

(Скопировано отсюда)

Следовательно, если вы хотите, чтобы AHK взаимодействовал с окном с повышенными правами UAC, вам придется запускать сам скрипт как администратор. Простой способ добиться этого в AHK_L - поместить этот код в начало вашего скрипта:

if not A_IsAdmin
{
    Run *RunAs "%A_ScriptFullPath%"
    ExitApp
}

Это будет работать как с скомпилированными, так и с некомпилированными скриптами.
Хотя этот метод чистый и короткий, вы не можете передавать параметры с помощью этого метода. Если вы хотите найти другой подход, на форумах AHK приведено множество примеров.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .