zoukankan      html  css  js  c++  java
  • C#让程序自动在管理员权限下运行

    windows 7和vista提高的系统的安全性,同时需要明确指定“以管理员身份运行”才可赋予被运行软件比较高级的权限,比如访问注册表等。否则,当以普通身份运行的程序需要访问较高级的系统资源时,将会抛出异常。

    如何让程序在启动时,自动要求“管理员”权限了,我们只需要修改app.manifest文件中的配置项即可。

    app.manifest文件默认是不存在的,我们可以通过以下操作来自动添加该文件。

    (1)进入项目属性页。

    (2)选择“安全性”栏目。

    (3)将“启用ClickOnce安全设置”勾选上。

      现在,在Properties目录下就自动生成了app.manifest文件,打开该文件,将trustInfo/security/requestedPrivileges节点的requestedExecutionLevel的level的值修改为requireAdministrator即可。如下所示:

          <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
             <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
          </requestedPrivileges>
    若编译报"ClickOnce 不支持请求执行级别requireAdministrator"错误的话,请去掉requestedPrivileges的xmlns="urn:schemas-microsoft-com:asm.v3"属性即可编译通过!

    记住,如果不需要ClickOnce,可以回到项目属性页将“启用ClickOnce安全设置”不勾选。   

    接下来,重新编译你的程序就OK了。

  • 相关阅读:
    JavaSE—集合框架
    JavaSE——集合框架
    RocketMq 在Netty 下是如何进行消息封装传输
    SpringBoot 初始化流程以及各种常见第三方配置的源码实现
    Java 重要知识点,踩过的坑
    Mysql 知识储备以及InnoDB
    java 编程英语单词,语句
    PlantUML
    Rocketmq broker 消息仓库
    AutowiredAnnotationBeanPostProcessor 的一些思考
  • 原文地址:https://www.cnblogs.com/dinotang/p/3272190.html
Copyright © 2011-2022 走看看