我有一个使用Visual Studio 2008构建的MFC应用程序,它需要在W2K,XP,2003和Vista上运行。应用程序在注册表中写入HKLM,只有在以管理员身份运行时才能在Vista上运行。
我的问题是:我可以强制该应用自动作为管理员运行吗?它是否涉及创建清单文件?目前我在stdafx.h中有以下内容,我想在运行中创建一个清单文件:
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
我可以修改此行以强制提升,还是需要对VC项目清单设置执行某些操作?
提前致谢。
答案 0 :(得分:9)
我使用一些高级C ++链接器选项找到了如何执行此操作:
打开项目的“属性页”对话框。
展开“配置属性”节点。
展开链接器节点。
选择清单文件属性页。
修改启用用户帐户控制(UAC),UAC执行级别和UAC绕过UI保护属性。
答案 1 :(得分:1)
您可以使用清单执行此操作。 可能是这样的,但我不记得确切:
<requestedExecutionLevel level="requireAdministrator"/>
答案 2 :(得分:0)
你可以做任何一件事。您可以使用#pragma添加类似的行以添加requireAdministrator指令,也可以在VS2008的属性表中设置它。
答案 3 :(得分:0)