vs2003生成的程序,启动默认以管理员身份运行
1、准备一个manifest文件,命名如下:XPStyle.manifest
文件的内容如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="5.1.0.9"
processorArchitecture="X86"
name="XPStyle.manifest"
type="win32"
/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
asInvoker : 如果选这个,应用程序就是以当前的权限运行。
highestAvailable: 这个是以当前用户可以获得的最高权限运行。
requireAdministrator: 这个是仅以系统管理员权限运行。
2、然后保存,放到和资源文件(.rc)放到一个目录下
3、用文件编辑器打开上述资源文件,在最后一行加上
1 24 “XPStyle.manifest”
1是资源id,24是资源的名称,必须是1和24
4、然后保存重新编译程序就好了。
这里有个注意事项要说明:就是这样生成的exe文件不能调试运行,只能双击运行,要想用管理员身份的调试,需要让编译器以管理员身份运行同时把资源文件中的添加的那行注释掉就好了。
如果直接点调试运行会造成关不掉你那个程序,用任务管理器也不能关掉。