运行 启动时以管理员身份运行 AHK 脚本

Run AHK script as admin on startup

我有四个 AHK 脚本,它们在启动时 运行,因为它们在我的启动文件夹中有快捷方式。我怎样才能让他们 运行 成为管理员?

我尝试过的:

我试过将它们的属性更改为 运行 作为管理员,但它们就是不 运行(当我这样做时)。

我试过将他们的快捷方式属性更改为 运行 作为管理员,但他们也只是不 运行(当我这样做时)。

我看过 this reddit post 这个主题,但我不知道如何在脚本中实现该代码。

我已经尝试创建一个基本的 C++ 应用程序,该应用程序 运行 将它们与 system("start path\to\script") 相结合,但它无法编译。

以防万一,有问题的脚本是ahk-active-screenshot, CtrlAlt_Switch.ahk, Kill.ahk, and a modified version of this search script

在您的机器上找到 UIA version autohotkey。对我来说是 C:\Program Files\AutoHotkey\AutoHotkeyU64_UIA.exe.

在您的启动文件夹中,创建一个新的快捷方式(可能为您想要的每个脚本创建一个)如下(根据需要替换路径):

  • 目标:“C:\Program Files\AutoHotkey\AutoHotkeyU64_UIA.exe”“D:\path\to\script.ahk”
  • 开始于:“C:\Program Files\AutoHotkey”

这会在启动时使用 AHK 的 UIA 版本以管理员身份启动您的脚本。

您可以允许脚本自动执行管理程序,而无需 运行 作为管理员,这是必需的步骤:

  1. 安装 AHK 时,选中“将 'Run with UI Access' 添加到上下文菜单”选项。
  2. 安装后,在您的磁盘上找到 AutoHotkeyU64_UIA.exe
  3. 打开 .ahk 脚本的属性,将“打开方式”选项更改为您刚刚找到的 AutoHotkeyU64_UIA.exe
  4. 创建此脚本的快捷方式。
  5. 在文件资源管理器中打开 %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
  6. 将该快捷方式移动到此文件夹。

大功告成。


它是如何工作的?

“将 'Run with UI Access' 添加到上下文菜单”选项为常见 UAC-related issues 提供了一种解决方法,它允许脚本在没有 运行 作为管理员的情况下自动执行管理程序。

参考:Run with UI Access.