强制我的MFC应用程序在Vista上以管理员身份运行

Rob*_*Rob 3 c++ mfc windows-vista

我有一个使用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='*'\"")
Run Code Online (Sandbox Code Playgroud)

我可以修改此行以强制提升,还是需要对VC项目清单设置执行某些操作?

提前致谢.

Rob*_*Rob 9

我发现了如何使用一些高级C++链接器选项来做到这一点:

  1. 打开项目的"属性页"对话框.

  2. 展开"配置属性"节点.

  3. 展开"链接器"节点.

  4. 选择Manifest File属性页面.

  5. 修改"启用用户帐户控制(UAC)","UAC执行级别"和"UAC绕过UI保护"属性.