>UAC (User Account Control)就是用户帐户控制,是让普通用户不用注销切换用户而得到高权限的一种方法。
>UAC在那里关系和打开?
开始菜单-〉控制面板-〉用户管理-〉打开或关闭“用户帐户控制”
Run-〉Regedit-〉HKLM/Software/Microfte/windows/CurrentVerion/Policies/System->更改EnableLUA
>UAC会提升那些应用程序的权限?
Setup,XXInstall,有Manifest的app。
>完整性级别(Integrity levels)
这是一个新的添加到进程和安全描述符(security descriptor)上的授权特性。内核对象和资源(文件,文件夹)都有一个完整性级别。系统中每个进程都有一个完整性的标记,每个进程当访问某个资源的时候,系统会做等级的校对,主要体现在写操作上,读和运行操作没有这个限制。
>如何使我们的程序能自动提升权限?
写Manifest文件:
|
你可以包这个文件保存成yourAPPName.exe.manifest放在和你的app同一个目录,在vista下运行时就会提示你是否允许提升权限。
最简单的方法:
打开你的项目,在资源上添加一个24类型自定义二进制资源,并把上面的代码copy到该资源里,然后再你的resource.h把该资源的id更改为1,重新编译,你的app到vista下降多一个盾牌了!
作者: wangweixing2000