我将其编译为可执行文件,但要打开它,必须右键单击并按“以管理员身份运行”。我希望它每次运行时都请求管理员权限,但是该怎么做呢?
我不能这样做:
因为那样一来,当我将其复制到另一台计算机时,它将无法正常工作。
最佳答案
尝试将其添加到自动执行部分(脚本顶部):
; 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/