Windows Vista 带来新的安全体验,但是限制了部分程序必须管理员才能运行. 没有管理员权限的用户每次运行一些需要管理员权限的操作时将会有一个提示. (例如写入到注册表 HKEY_LOCAL_MACHINE 或者写入到 C:\Windows 目录). 这是调用了 User Account Control (UAC).
在默认情况下,AutoIt 脚本运行于标准用户的权限下, 但是 AutoIt 已经提供了脚本作者一个 "tag(标记)" 来告诉 AutoIt 需要运行于管理员权限.
要强制一个脚本使用管理员权限运行,请添加 #requireadmin 到您的代码顶部,就像:
; 这个脚本需要完全控制权限(管理员权限)
#RequireAdmin
MsgBox(0, "信息", "这个脚本运行于管理员权限! ")
当脚本运行时,AutoIt 会检查自己是否已经拥有管理员权限,如果没有将会通知操作系统显示一个"UAC 提示",说明用户权限不足 . 如果许可不给予脚本权限, 脚本将终止.
Vista 将会在运行程序没有权限时出现下方窗口. (这类型提示/发生于用户为"标准用户" 或者 "需要其它权限的管理员" (记得每当 administrators 需要得到提高权限到 admin 操作时). 说明: 这个提示在有数字签名的程序运行时只会显示一个警告.Autoit 正式版本身是带有数字签名的.注:汉化程序会使数字签名失效.当 "编译" 时也可能出现下面的提示.)
标准用户提示
一个标准的用户必须选择输入一个用户名和密码,才能以高权限继续运行脚本.
超级管理员(Administrator)用户提示
如果一个用户已经拥有管理员(administrator)权限,只需点击'继续' - 不需要再输入密码.
编译的脚本(可能是测试版本的 AutoIt) 是 没有 数字签名的,系统会给予更严重的警告,如图:
用户必须单击 允许 来继续执行(或者输入一个密码,标准用户的话).
如果你有一个可信任的数字签名,您可以给自己的程序进行数字签名.
重要: 不管 AutoIt 或者 一个已经编译的脚本(或者是其它程序)是否有数字签名, 您只能运行您信任的脚本或者程序!
因为它可能是恶意的!