Vista下的UAC是什么?

本文详细介绍了Vista系统中的用户帐户控制(UAC)功能,包括其作用原理、配置方法及如何通过修改Manifest文件实现应用程序权限自动提升的技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vista下的UAC是什么?
*UAC
   UACUser 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

转载说明出处!Thanks!
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值