15.VC(custom)- 在Vista Win7 下提高管理员权限问题
来源:互联网 发布:软件合同登记备案 编辑:程序博客网 时间:2024/05/23 15:48
以下程序集清单(Assembly Manifest)示例使你的程序在VISTA和WIN7下需要管理员权限,即在程序运行时弹出UAC提升权限对话框。
<?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>如果希望更改 Windows 用户帐户控制级别,请用以下节点之一替换 requestedExecutionLevel 节点。<!--普通权限--><requestedExecutionLevel level="asInvoker" uiAccess="false" /><!--管理员权限--><requestedExecutionLevel level="requireAdministrator" uiAccess="false" /><!--最高权限--><requestedExecutionLevel level="highestAvailable" uiAccess="false" />以下程序清单文件文件使你的程序使用WINXP风格的控件:<?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"/><description>Test application for xp style.</description><dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly></dependency></assembly>
关联方式一般有两种:程序内部嵌入和外部关联。
程序内部嵌入方式的操作步骤为:
1. 新建一个程序集清单(Assembly Manifest)文件命名为"你的应用程序名.manifest",如你生成的文件为"Test.exe",那程序集清单(Assembly Manifest)文件名为"Test.exe.manifest"。
2. 导入资源选择刚刚新建的程序集清单(Assembly Manifest)文件(Test.exe.manifest),在弹出的资源类型对话框中输入"RT_MANIFEST",找到刚刚添加的资源,将它的ID属性修改为1,当然对于内部嵌入来说程序集清单文件名,资源类型和ID都是可以自定义的。
3. 重新编译你的程序即可。
外部关联方式的操作步骤为:
1. 新建一个程序集清单(Assembly Manifest)文件命名为"你的应用程序名.manifest",如你生成的文件为"Test.exe",那程序集清单(Assembly Manifest)文件名为"Test.exe.manifest"。
2. 将"Test.exe.manifest"放在你编译的"Test.exe"同一目录下即可。
注:若使用程序内部嵌入方式且程序集清单中定义需要管理员权限或以上权限时,编译的程序图标将有小盾牌标示,外部关联不会显示小盾牌。
我发现,在使用内部嵌入的时候,在XP下可以正常使用,但是在Vista 或是WIN7 程序会死掉,所以需要把导入的文件名修改下,改成:Test.xml 再导入进去就可以了
来自: http://hi.baidu.com/invisiable/blog/item/332805d9bab345e438012ff1.html
附加一点:如果是共享dll的话:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity name="TENCENT GAME" processorArchitecture="x86" version="1.0.0.0" type="win32"/><dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.6195" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity> </dependentAssembly></dependency><description>TENCENT GAME</description><trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="highestAvailable" uiAccess="false"/> </requestedPrivileges> </security></trustInfo>
注意name不同
- 15.VC(custom)- 在Vista Win7 下提高管理员权限问题
- VC6 在Vista Win7 下提高权限问题
- VC6 在Vista Win7 下提高权限问题
- 在WIN7或者VISTA下自动使用管理员权限运行
- 让VC程序在Win7下获得管理员权限
- VC,在win7下让程序获取管理员权限
- VC编写vista或win7下需要管理员权限运行的程序
- VC编写vista或win7下需要管理员权限运行的程序
- VC 编写 Vista 或 win7 下需要管理员权限运行的程序
- VC编写vista或win7下需要管理员权限运行的程序
- VC编写vista或win7下需要管理员权限运行的程序
- Delphi下如何使程序在Win7/Vista上用管理员权限运行
- Delphi下如何使程序在Win7/Vista上用管理员权限运行
- Delphi下如何使程序在Win7/Vista上用管理员权限运行
- 编译完成的工程在WIN7或者VISTA下自动使用管理员权限运行
- Delphi下如何使程序在Win7/Vista上用管理员权限运行[转]
- Delphi下如何使程序在Win7/Vista上用管理员权限运行[转]
- Delphi在win7/vista下写注册表等需要管理员权限的解决方案
- 修改用户锁定状态并初始化用户密码
- 通过Google Analytics分析某链接的点击次数
- VS2008下打CAB安装包
- struts1 和 struts2流程之间的区别
- KIDSMS手机短信平台软件 v1.00 公开发表
- 15.VC(custom)- 在Vista Win7 下提高管理员权限问题
- 造了一个轮子:注册表键编辑封装->registry类
- 初次使用
- mediaV的面试
- 备份一下vimrc
- platform_device和platform_driver
- 网站开发人员应该知道的62件事
- symbian 时间使用和统计(计算)函数(类)运行时间
- iPhone OS 开发-了解并解决代码签名问题