现在的位置: 首页 > 综合 > 正文

Vista下的UAC是什么

2013年10月03日 ⁄ 综合 ⁄ 共 1165字 ⁄ 字号 评论关闭
*>UAC User Account Control)就是用户帐户控制,是让普通用户不用注销切换用户而得到高权限的一种方法。
 
*>UAC在那里关系和打开?
    开始菜单-〉控制面板-〉用户管理-〉打开或关闭用户帐户控制
    Run-Regedit-HKLM/Software/Microfte/windows/CurrentVerion/Policies/System->更改EnableLUA
 
>UAC会提升那些应用程序的权限?
    SetupXXInstall,有Manifestapp
>完整性级别(Integrity levels
      这是一个新的添加到进程和安全描述符(security descriptor)上的授权特性。内核对象和资源(文件,文件夹)都有一个完整性级别。系统中每个进程都有一个完整性的标记,每个进程当访问某个资源的时候,系统会做等级的校对,主要体现在写操作上,读和运行操作没有这个限制。
>如何使我们的程序能自动提升权限? 
      Manifest文件:
   

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    version="1.0.0.0"
    processorArchitecture="X86"
    name="yourAPPName.exe.manifest"   //这里把
yourAPPName替换成你的app
    type="win32"
/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
        <requestedPrivileges>
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
        </requestedPrivileges>
    </security>
</trustInfo>
</assembly>

你可以包这个文件保存成yourAPPName.exe.manifest放在和你的app同一个目录,在vista下运行时就会提示你是否允许提升权限。
最简单的方法:
     打开你的项目,在资源上添加一个24类型自定义二进制资源,并把上面的代码copy到该资源里,然后再你的resource.h把该资源的id更改为1,重新编译,你的app到vista下降多一个盾牌了!

作者: wangweixing2000
 

抱歉!评论已关闭.