我将其编译为可执行文件,但要打开它,必须右键单击并按“以管理员身份运行”。我希望它每次运行时都请求管理员权限,但是该怎么做呢?

我不能这样做:

因为那样一来,当我将其复制到另一台计算机时,它将无法正常工作。

最佳答案

尝试将其添加到自动执行部分(脚本顶部):

; If the script is not elevated, relaunch as administrator and kill current instance:

full_command_line := DllCall("GetCommandLine", "str")

if not (A_IsAdmin or RegExMatch(full_command_line, " /restart(?!\S)"))
{
    try ; leads to having the script re-launching itself as administrator
    {
        if A_IsCompiled
            Run *RunAs "%A_ScriptFullPath%" /restart
        else
            Run *RunAs "%A_AhkPath%" /restart "%A_ScriptFullPath%"
    }
    ExitApp
}

并重新编译脚本。

有关更多详细信息,请阅读https://autohotkey.com/docs/commands/Run.htm#RunAs

关于autohotkey - 如何在AutoHotkey脚本中添加管理员权限?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43298908/

10-14 18:33