gvim 突然开始触发 Windows 7 上的用户帐户控制,破坏了 AutoHotkey

gvim 突然开始触发 Windows 7 上的用户帐户控制,破坏了 AutoHotkey

在 Windows 7 上,我的 gVim 副本突然触发了用户帐户控制弹出“您是否希望来自未知发布者的以下程序对此计算机进行更改?”

据我所知,这开始于没有明显的原因

  • Windows 更新上次运行是在 3 天前。
  • 从那时起我已经多次使用过 gVim。
  • 我之前使用过同一个 gVim,6 个多月都没有出现过这种情况。
  • 我认为我没有更改任何控制面板类型设置

这是个问题因为:如果我选择“是”,那么 gVim 就会启动并且似乎可以工作……除了AutoHotkey 中断。我使用 AutoHotkey 将 Caps Lock 重新映射到 Escape(对 vim 非常有用),这在 gVim 中停止工作。键重新映射在其他程序(包括 Mingw 中的终端 vim)中继续工作。

有人知道会发生什么吗?

答案1

UAC 窗口在其受保护的进程中运行,并且运行在与普通用户桌面不同的桌面上。任何已在该用户空间中运行的程序都无法对其进行欺骗,例如,欺骗按键或鼠标手势。

(摘自这里

因此,如果您希望 AHK 与 UAC 提升的窗口交互,则必须以管理员身份运行脚本本身。在 AHK_L 中实现此目的的一种简单方法是将此代码放在脚本顶部:

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

该方法适用于编译和未编译的脚本。
虽然简洁明了,但您无法使用此方法传递参数。如果您想寻找其他方法,则在AHK 论坛

答案2

升级至vim 版本 8已经解决了我电脑上的问题——UAC 不再被触发,并且 vim 可以以非管理员身份运行。

相关内容