1、从A程序启动B程序,当B程序需要管理员权限的时候代码如下

A程序里面启动B程序的代码如下

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "D:\\B.exe"; //设置程序启动路径
startInfo.WorkingDirectory = Environment.CurrentDirectory;//需要管理员权限这个不晓得是不是必须
startInfo.Verb = "runas";//需要管理员权限必须有
startInfo.UseShellExecute = true;//需要管理员权限必须有
startInfo.WindowStyle = ProcessWindowStyle.Normal;
Process.Start(startInfo);//启动程序

关于这一点,主要就是要设置下面两个属性:

startInfo.UseShellExecute = true;
startInfo.Verb = "runas";

可以查看下面这个帖子的讨论:

Elevating process privilege programmatically?

2、如果一个程序需要使用管理员权限的时候需要如下设置 ,使用Winform 的方法如下

a、在 项目 上 添加新项 选择“应用程序清单文件”("Application Manifest File") 然后单击 添加 按钮,生成文件 app.manifest

b、打开app.manifest

将:

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

修改为:

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

c、然后打开 项目属性 ,将 应用程序 标签页中的 资源 中的 清单 修改为新建的 app.manifest

d 、重新生成项目即可。

从.NET Core 3.0开始,也可以在项目中创建和使用“应用程序清单文件”("Application Manifest File")了,可以看到我们在下面的.NET Core控制台项目中,在 项目属性 中选择使用了清单文件app.manifest

然后,我们可以打开.NET Core的.csproj项目文件,可以看到其中多了一个XML节点<ApplicationManifest>指示项目当前使用了app.manifest清单文件

所以,从.NET Core 3.0开始,我们也可以通过在项目中创建和使用“应用程序清单文件”("Application Manifest File"),在Windows操作系统上,强制要求.NET Core应用程序 以管理员身份运行(Run as administrator) 了。

关于在.NET Core项目中使用“应用程序清单文件”("Application Manifest File"),可以查看下面这个帖子的讨论:

dotnet core app run as administrator

3、通过Windows service 启动一个程序的时候 A服务启动B程序,A是Windows Service ,B是Windows  通过A程序启动的B程序,好像B不能采用2的方法,那样好像会出现服务无法启动的问题(猜测)。

原文链接

C# 程序默认使用管理员权限(转载)的更多相关文章

  1. .net core程序强制以管理员权限启动

    当我们编写windows程序的时候,很多时候需要程序默认以管理员权限运行,以前在.net 程序中直接新建一个app.manifest,设置requestedExecutionLevel 节点即可 &l ...

  2. Inno Setup打包的程序提升为管理员权限

    Inno Setup打包的程序在Win7 64位系统上安装,安装步骤最后一步若选中运行程序,会跳出一个错误提示框. 这是因为64位win7系统运行程序时需要管理员权限,而打包的文件并没有这个权限就试图 ...

  3. 【程序打包工具 Inno Setup】CreateProcess 失败:代码 740(Inno Setup打包的程序提升为管理员权限)

    原文参考 https://www.cnblogs.com/SnailProgramer/p/4243666.html http://blog.csdn.net/x356982611/article/d ...

  4. Win10系统如何设置所有程序默认以管理员身份运行?

    原文:Win10系统如何设置所有程序默认以管理员身份运行? 在win10系统中有些用户发现一些程序只有使用管理员身份运行能才打开,这样的话就感觉会麻烦很多,那么有没有办法设置所有程序都默认以管理员身份 ...

  5. Inno Setup CreateProcess 失败:代码 740(Inno Setup打包的程序提升为管理员权限)

    原文参考 https://www.cnblogs.com/SnailProgramer/p/4243666.html http://blog.csdn.net/x356982611/article/d ...

  6. 系统开启UAC情形下开机自启动程序如何以管理员权限启动

    系统开启UAC情形下开机自启动程序如何以管理员权限启动 题记:本文阐述的是在Windows系统开启UAC的情况下,开机自启动程序需要以管理员权限启动, 系统弹出UAC对话框,用户同意的情形下启动程序 ...

  7. 【转载】Win10系统如何设置所有程序默认以管理员身份运行?

    在win10系统中有些用户发现一些程序只有使用管理员身份运行能才打开,这样的话就感觉会麻烦很多,那么有没有办法设置所有程序都默认以管理员身份运行,而无需我们一个一个右键点击再打开呢? 目前最好的方法就 ...

  8. (转)在Winform程序中设置管理员权限及为用户组添加写入权限

    本文转载自:http://www.cnblogs.com/wuhuacong/p/5645172.html 在我们一些Winform程序中,往往需要具有一些特殊的权限才能操作系统文件,我们可以设置运行 ...

  9. C#让程序自动在管理员权限下运行

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

随机推荐

  1. CSS--选择符大全(常用css选择符)

    (一)元素选择符 E(某个元素,如p) id(使用id,如#idName) class(使用class,如.myclass) 通配符:* (二)关系选择符 包含选择符:E F(E所有的F包含子代,孙代 ...

  2. LVS主从部署配置和使用

    LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一. LVS是L ...

  3. 在centos7 上部署 vuepress

    vuepress是一款十分优秀简洁的文档生成器,可以根据目录下的md文档自动生成对应的html文件,界面简洁大方.每一个由 VuePress 生成的页面都带有预渲染好的 HTML,也因此具有非常好的加 ...

  4. pymongo的用法

    先看一下官方给出的简单例子,涵盖了大部分内容: >>> import pymongo >>> client = pymongo.MongoClient(" ...

  5. Python3.5中安装Scrapy包时出现问题

    在Python3.5中安装Scrapy第三方库 pip install Scrapy 安装到后面出现的这类错误: error: Microsoft Visual C++ 14.0 is require ...

  6. 使用navicat 连接mysql出现1251错误

    最近需要用MYSQL,使用navicat 连接时总出现1251错误,在网上查了一些别人的方法并试过 以下方法是正确的. 方法来自:https://blog.csdn.net/XDMFC/article ...

  7. 5.3Python函数(三)

    目录 目录 前言 (一)装饰器 ==1.简单的装饰器== ==2.修饰带参数函数的装饰器== ==3.修饰带返回值函数的装饰器== ==4.自身带参数的装饰器== (二)迭代器 (三)生成器 ==1. ...

  8. Linux 小知识翻译 - 「小型移动式PC」

    这次介绍下新闻上提到的「小型移动式PC」.(这个当时日本新闻上的内容) 最近,经常在日本的大卖场中看到一种小型的移动式PC.不仅是小巧方便携带,而且价格也便宜.而且,省电功能的加入,使电池能工作更长的 ...

  9. debian 7.4 安装配置

    改用debian差不多有半年了,之前一直用fedora,大概3年多,虽然软件包都很新,总是不太稳定,有点软件用着用着就自动退出了. 换了debain之后,这半年还真是一直没啥问题,这里总结了一些安装配 ...

  10. GsonUtil工具类

    import java.util.ArrayList; import java.util.List; import java.util.Map; import com.google.gson.Gson ...