如何为AutoHotkey脚本添加管理员权限?

时间:2017-04-08 18:35:10

标签: autohotkey administrator

我把它编译成可执行文件,但要打开它我必须右键单击并按“以管理员身份运行”。我想让它在每次运行时请求管理员权限,但是怎么做?

我不能这样做:

因为当我将它复制到第二台计算机时它不起作用。

2 个答案:

答案 0 :(得分:10)

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

; 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

答案 1 :(得分:-2)

这是用于此目的的简单得多的代码:

if not A_IsAdmin
Run *RunAs "%A_ScriptFullPath%"

如果尚未以Admin身份运行,它将以Admin身份运行脚本。