Windows操作系统的权限管理方式是通过用户账户控制(UAC)机制来实现的。UAC机制会提示用户是否允许某个程序进行需要管理员权限的操作,如修改系统设置等。在Windows中,有以下几种用户权限:

客户账户权限(Guest):只能执行非常有限的操作,不能安装程序和修改系统设置等。

标准用户权限(Standard User):只能执行部分系统级别的操作,不能安装程序和修改系统设置等。

管理员权限(Administrator):能够执行大部分系统级别的操作,包括安装、卸载应用程序、修改系统设置等。

系统账户权限(System):是Windows系统内置的账户,拥有最高的权限,可以访问所有的系统资源和执行所有的操作。

通过这种权限管理方式,Windows可以保护计算机免受恶意软件和攻击的威胁,同时也可以保护用户数据和隐私。

 

1.AHKv1脚本以管理员权限自启,优点:可传参数,缺点:某些特殊情况会启动失败

; AHK脚本以管理员权限自启
if !A_IsAdmin && !RegExMatch(_:=DllCall("GetCommandLine", "Str"), " /restart(?!\S)")
  Try RunWait % "*RunAs " RegExReplace(_, "^\"".*?\""\K|^\S*\K", " /restart")

MsgBox % "当前" (A_IsAdmin=1 ? "管理员权限" : "普通权限")

2.AHKv1脚本以管理员权限自启,优点:兼容性高,缺点:不可传参数

; AHK脚本以管理员权限自启
if !(A_IsAdmin || InStr(DllCall("GetCommandLine", "Str"), ".exe /r"))
  RunWait % "*RunAs " (_:=A_IsCompiled ? """" : A_AhkPath " /r """) A_ScriptFullPath (_ ? """" : """ /r")

MsgBox % "当前" (A_IsAdmin=1 ? "管理员权限" : "普通权限")

3.AHKv2的脚本以管理员权限自启,和上面的脚本等效

if !A_IsAdmin && !(DllCall("GetCommandLine", "str") ~= " /restart(?!\S)")
  Try RunWait('*RunAs "' (A_IsCompiled ? A_ScriptFullPath '" /restart' : A_AhkPath '" /restart "' A_ScriptFullPath '"'))

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。