• 20121122 11:23 vc编写以管理员权限运行的程序


    如果是vs2008或者2010,就比较简单了,直接项目右键---属性---连接器---清单文件---uac执行级别 选择requireAdministrator 重新编译 这样你的程序直接运行就拥有管理员权限了。程序就会出现一个盾牌。

    =======================================其他编译器的方法:

    导入manifest文件

    1.如果你使用的是VC6或者vs2003,,2005,通过导入manifest文件解决

    <?xml version="1.0" encoding="utf-8"?>

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

    xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

      <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>

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

        <security>

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

            <!-- UAC Manifest Options

                If you want to change the Windows User Account Control level replace the

                requestedExecutionLevel node with one of the following.

            <requestedExecutionLevel  level="asInvoker" uiAccess="false" />

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

            <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

                If you want to utilize File and Registry Virtualization for backward

                compatibility then delete the requestedExecutionLevel node.

            -->

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

          </requestedPrivileges>

        </security>

      </trustInfo>

    </asmv1:assembly>

    注:此文件只要扩展名是.manifest文件名可以任意。文件内容的name属性值也可以为任意。(VC6.0下经过测试)

    2.把此文件"import"到资源文件中,资源类型为24,资源ID为1,

    注:经测试资源类型必须为24,资源ID也必须为1,

    该代码添加到VC资源中即可, 添加方式:

    =============================添加方法:

    添加一个“custom”资源,”resource type”填24,把资源ID改为1

    如果只有一个可执行文件,也可以通过以下方法添加:

    mt.exe -manifest e4nmgr.exe.manifest -outputresource:e4nmgr.exe;1

    =============================

    3.重新编辑即可,在windows7下该程序图标有一个盾状小图标,双击运行会出现对话框要求提升为管理员权限。

    参考:

    http://hi.baidu.com/aoedebug/blog/item/0d6c26fc5c700ec2f3d3854d.html

    http://msdn.microsoft.com/en-us/library/bb756929.aspx

    http://www.vista123.com/html/6718.html

  • 相关阅读:
    GridView中获取UserControl Fred
    objectivec字符串类NSString的使用
    IPhone之AVAudioRecorder
    iPhone中用第三方工具(RegexKitLite)实现正则表达
    android实现底部菜单栏
    android 菜单设计
    Objective C内存管理——如何理解autorelease
    在iphone中使用正则表达式 — OgreKit 详解
    iphone开发者证书装多台电脑的方法
    iPhone sdk 4.0 正则表达式
  • 原文地址:https://www.cnblogs.com/libao/p/2793225.html
Copyright © 2020-2023  润新知