VC6 编译程序在Vista/win 7上要求管理员权限[转]

本文介绍如何为使用Visual C++ 6.0 (VC6) 编写的程序添加管理员权限,通过在程序中手动添加manifest资源实现。适用于那些需要在Windows Vista及以上系统中以管理员身份运行的老程序。

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

Vista 权限检查变得比以往的任何版本windows都严格.
有相当多程序,在winxp,win2k上顺利运行的.放到Vista上,就无法运行.其中有一类原因是因为程序使用了一些API,这些API在Vista下必须要求满足管理员权限才能够执行.
具体查新版的MSDN,会有明确的标注.同时Visual Studio 2003,以及 Visual Studio 2005都可以很方便的直接在程序的工程里头加入 manifest 资源,声明程序需要管理员权限.

而VC6这个老古董,就没有这么方便.但是平时还是有不少老的代码需要继续维护.

这里有必要记下来VC6手工添加 manifest 资源的办法.

1.打开应用程序的源代码工程
2.添加一个“custom”资源,”resource type”填24,把资源ID改为1,文件名命名为 manifest
3. 然后把以下内容复制到资源内容中保存

<?xml
 version
="1.0"
 encoding
="UTF-8"
 standalone
="yes"
?>


<assembly xmlns ="urn:schemas-microsoft-com:asm.v1" manifestVersion ="1.0" >
<dependency>
<dependentAssembly>
<assemblyIdentity
type ="win32"
name ="Microsoft.Windows.Common-Controls"
version ="6.0.0.0"
processorArchitecture ="*"
publicKeyToken ="6595b64144ccf1df"
language ="*"
/>
</dependentAssembly>
</dependency>
<v3:trustInfo xmlns:v3 ="urn:schemas-microsoft-com:asm.v3" >
<v3:security>
<v3:requestedPrivileges>
<!-- level can be "asInvoker", "highestAvailable", or "requireAdministrator" -->
<v3:requestedExecutionLevel level ="requireAdministrator" />
</v3:requestedPrivileges>
</v3:security>
</v3:trustInfo>
</assembly>

4.重新编译即可

特征: 凡是要求管理员权限的程序,在 Vista 下图标会多一个小盾牌的.看到这个就是成功了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值