• 在Windows 7 下使用Visual Studio 2010 编写自动申请管理员权限运行的程序


    自从Vista推出UAC之后,遇到程序需要执行一些高安全级别的操作的时候就需要系统管理员权限,如何让自己写的程序能够自动向系统申请管理员执行权限,也就是在程序的图标上出现一个小盾牌的图标呢,使用Visual Studio 2010可以很方便的做到这一点。具体步骤如下:

    1、在项目中增加一个Application Manifest File

    2、打开新增加的app.manifest文件,文件的内容如下:


    app.mainfest
    <?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" />

                Specifying requestedExecutionLevel node will disable file and registry virtualization.
                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>
      
      
    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
        
    <application>
          
    <!-- A list of all Windows versions that this application is designed to work with. Windows will automatically select the most compatible environment.-->

          
    <!-- If your application is designed to work with Windows 7, uncomment the following supportedOS node-->
          
    <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>-->
          
        
    </application>
      
    </compatibility>
      
      
    <!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
      
    <!-- <dependency>
        <dependentAssembly>
          <assemblyIdentity
              type="win32"
              name="Microsoft.Windows.Common-Controls"
              version="6.0.0.0"
              processorArchitecture="*"
              publicKeyToken="6595b64144ccf1df"
              language="*"
            />
        </dependentAssembly>
      </dependency>
    -->

    </asmv1:assembly>


    3、把<requestedPrivileges〉节中的配置项<requestedExecutionLevel level=" asInvoker" uiAccess="false" />改为<requestedExecutionLevel level=" requireAdministrator " uiAccess="false" />

    4、重新编译程序,编译好后的程序图标上就会出现一个小盾牌,就可以以管理员身份启动了。

  • 相关阅读:
    30行代码实现微信自动回复机器人
    用Python来P图
    部署Scrapy分布式爬虫项目
    为什么自学Python看不进去?0基础入门Python有哪些捷径?
    学Python Web开发框架到什么程度可以找到开发的工作?
    Python不能帮你找到女朋友,却能让你成为有钱的单身狗
    SQL 的基本使用概念简介
    Python 面向对象编程的一些知识点总结
    一 数据的概括性度量
    三 k-近邻算法(k-Nearest Neighbors KNN)
  • 原文地址:https://www.cnblogs.com/endlock/p/1743756.html
Copyright © 2020-2023  润新知