其实,给应用程序的嵌入一段特殊的资源,就可以要求以管理员身份运行,当当前用户不是管理员时,会要求输入管理员密码。
- 打开你的VC6工程,找到“资源视图”,然后在视图中的树的根结点上点鼠标右键,选择菜单“插入”。
- 在弹出的“插入资源”对话框中选择“Custom”,在新对话框(“New Custom Resource”)输入框中输入24。因为manifest的类型是24,点击“OK”按钮。
- 在资源视图的树上面选择24下方的条目“DDR_DEFAULT1”上点右键,选择“Properties”,将ID修改为1。
- 双击刚才修改的“1”资源,然后在右方的编辑器窗口中输入下面的代码:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='asInvoker' uiAccess='false' /> //
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!--The ID below indicates application support for Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!--The ID below indicates application support for Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
</application>
</compatibility>
</assembly>
权限的声明在requestedExecutionLevel节点中。该元素的level 属性可具有以下三个值之一:asInvoker, highestAvailable和requireAdministrator。不需要管理权限的可执行文件(比如Notepad.exe邓)指定 asInvoker 值。某些可执行文件预期管理员始终希望具有最大访问权限,因此他们使用 highestAvailable 值。requireAdministrator 始终会导致提升请求,任何没有管理权限就无法操作的可执行文件需要使用该值。
VC6编程弹出UAC窗口
最新推荐文章于 2018-05-21 20:36:32 发布