首页 > 电脑专区 > windows >

用 VC6 制作 WIN7/8 下以管理员权限运行的程序

来源:互联网 2023-02-20 23:17:38 233

  Windows 7/8 的系统安全机制得到了很大的提高,不同的程序根据功能可以在不同的权限级别下运行,新的程序设计工具比如 Visual Studio 2005 以后的版本编译生成的程序都具备这种权限请求机制,但早期的 Visual C 6.0 则由于太过古老,生成的程序需要手工做一些设定才能获取合适的权限。

77n办公区 - 实用经验教程分享!

77n办公区 - 实用经验教程分享!

工具/原料

  • Visual Studio 6.0

方法/步骤

  • 1

      Win7/8 是以一份程序集清单 Assembly Manifest 文档来获取程序需要的权限信息的,这份清单可以以资源形式内嵌入应用程序,也可以以外置文件形式来和程序放置在一起,如果你能够重新编译程序,则建议使用第一种,使用内嵌式程序清单的程序在 Win7/8 中的图标会有盾牌标志,而使用外置形式则没有。

    77n办公区 - 实用经验教程分享!

    77n办公区 - 实用经验教程分享!

      程序集清单的内容如下:77n办公区 - 实用经验教程分享!

    ?xml version="1.0" encoding="UTF-8" standalone="yes"?>

    77n办公区 - 实用经验教程分享!

    assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

    77n办公区 - 实用经验教程分享!

    assemblyIdentity

    77n办公区 - 实用经验教程分享!

    version="1.0.0.0"

    77n办公区 - 实用经验教程分享!

    processorArchitecture="X86"

    77n办公区 - 实用经验教程分享!

    name="test.exe.manifest"

    77n办公区 - 实用经验教程分享!

    type="win32"

    77n办公区 - 实用经验教程分享!

    />

    77n办公区 - 实用经验教程分享!

    trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">

    77n办公区 - 实用经验教程分享!

    security>

    77n办公区 - 实用经验教程分享!

    requestedPrivileges>

    77n办公区 - 实用经验教程分享!

    requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>

    77n办公区 - 实用经验教程分享!

    /requestedPrivileges>

    77n办公区 - 实用经验教程分享!

    /security>

    77n办公区 - 实用经验教程分享!

    /trustInfo>

    77n办公区 - 实用经验教程分享!

    /assembly>77n办公区 - 实用经验教程分享!

      上述清单指定了该程序运行需要管理员权限,如果需要使用其他权限,则可以用以下三者之一替换其中的 requestedExecutionLevel 节点。77n办公区 - 实用经验教程分享!

    !-- 普通权限 -->77n办公区 - 实用经验教程分享!

    requestedExecutionLevel level="asInvoker" uiAccess="false" />77n办公区 - 实用经验教程分享!

    !-- 管理员权限 -->77n办公区 - 实用经验教程分享!

    requestedExecutionLevel level="requireAdministrator" uiAccess="false" />77n办公区 - 实用经验教程分享!

    !-- 最高权限 -->77n办公区 - 实用经验教程分享!

    requestedExecutionLevel level="highestAvailable" uiAccess="false" />77n办公区 - 实用经验教程分享!

    77n办公区 - 实用经验教程分享!

    77n办公区 - 实用经验教程分享!

      对于外置程序集清单,可以将上述内容的文件以 应用程序名.Manifest 的文件名和程序放置在同一目录下即可,比如名为 test.exe 的应用程序集清单应命名为 test.exe.manifest 。77n办公区 - 实用经验教程分享!

      接下来重点讲述第一种内嵌形式的程序集清单如何设置77n办公区 - 实用经验教程分享!

  • 1本页面未经许可获取自百度经验
  • 2

      在 VC6 中切换到资源视图,在资源节点上点击右键,选择 “Insert”插入新资源

    77n办公区 - 实用经验教程分享!

    77n办公区 - 实用经验教程分享!

    ,然后选择自定义资源类型 "Custom",并输入类型:24,然后在该资源上点击右键,设置资源 ID 为 1

    77n办公区 - 实用经验教程分享!

    77n办公区 - 实用经验教程分享!

    用 VC6 制作 WIN7/8 下以管理员权限运行的程序77n办公区 - 实用经验教程分享!

    用 VC6 制作 WIN7/8 下以管理员权限运行的程序77n办公区 - 实用经验教程分享!

    用 VC6 制作 WIN7/8 下以管理员权限运行的程序77n办公区 - 实用经验教程分享!

    用 VC6 制作 WIN7/8 下以管理员权限运行的程序77n办公区 - 实用经验教程分享!

  • 3

      双击该资源类型 24,将上述 manifest 文件内容粘贴到资源里,保存,然后重新编译生成应用程序即可。

    77n办公区 - 实用经验教程分享!

    77n办公区 - 实用经验教程分享!

    用 VC6 制作 WIN7/8 下以管理员权限运行的程序77n办公区 - 实用经验教程分享!

  • 4

      用上述方法生成的应用程序,在 Win7/8 系统里图标会有盾牌字样,双击此应用程序,会弹出用户账户控制的提示信息。77n办公区 - 实用经验教程分享!

  • 注意事项

    •   选择合适的权限而不是把所有程序都设置为需要管理员权限,如果你的应用程序并不涉及系统关键操作,则无需做此设置,因为这会限制你的应用程序使用,在一些无法获取管理员权限的场合(比如有权限要求的办公用电脑)会带来烦恼。

      77n办公区 - 实用经验教程分享!

      77n办公区 - 实用经验教程分享!

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!77n办公区 - 实用经验教程分享!


    标签: WIN7管理权限运行程序

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码