Windows7以管理员身份运行程序

一、要让程序本身运行时为管理员,有如下方法:

方法1  vs2008以上的话,在exe的工程中找manifest   中的最后一行之前加下面的代码:进行编译就可以了,
<ms_asmv3:trustInfo   xmlns:ms_asmv3= "urn:schemas-microsoft-com:asm.v3 ">   
        <ms_asmv3:security   xmlns:ms_asmv3= "urn:schemas-microsoft-com:asm.v3 ">   
                <requestedPrivileges>   
                          <requestedExecutionLevel   level= "requireAdministrator "   uiAccess= "false ">     </requestedExecutionLevel>   
                </requestedPrivileges>   
        </ms_asmv3:security>   
</ms_asmv3:trustInfo>   
不过这样的exe只能运行管理员权限下,如果以一般用户登录,需要输入管理员的帐号及密码才行。一般都是不设requireAdministrator,而是设其为asInvoker。不过在有些没打补丁的XP   sp2的系统上,用manifest提升权限可能导致系统重启,谨慎使用!

VC6中没有manifest文件,添加一个“custom”资源,"resource type"填24,把资源ID改为1,把下面代码添加到其中即可,:

<?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="test.exe.manifest"
    type="win32"
/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
        <requestedPrivileges>
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
        </requestedPrivileges>
    </security>
</trustInfo>
</assembly>   

方法2  比如我把 D:\BitSpirit\BitSpirit.exe   改为管理员权限 

HKEY_CURRENT_USER\Software\Microsoft\Windows   NT\CurrentVersion\AppCompatFlags\Layers 
新增一个字符串键值: 
名称设置为“D:\BitSpirit\BitSpirit.exe” 
数值数据设置为“RUNASADMIN”

该代码添加到VC资源中即可, 添加方式:

 

二、调用其他程序是,让其以管理员身份运行

ShellExecute(NULL,"RunAs",szFileName,NULL,NULL,SW_NORMAL);

添加一个“custom”资源,"resource type"填24,把资源ID改为1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值