由于UAC的影响,很多程序从XP向VISTA迁移中问题颇多,典型的有无执行权限导致远程调用、驱动加载失败等问题。
1、创建一个Manifest文件。
2、在资源文件中加入:
#define MANIFEST_RESOURCE_ID 1
MANIFEST_RESOURCE_ID RT_MANIFEST "IsUserAdmin.exe.manifest"
MANIFEST_RESOURCE_ID RT_MANIFEST "IsUserAdmin.exe.manifest"
3、运行VS2005提供的mt工具。你也可以把这个命令加入到post-build事件中
mt.exe -manifest "$(ProjectDir)$(TargetName).exe.manifest" -updateresource:"$(TargetDir)$(TargetName).exe;#1"
这样,运行程序首先会提示用户赋予管理员权限。