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. vue2.0 element-ui中的el-select选择器无法显示选中的内容

    我使用的是element-ui V2.2.3.代码如下,当我选择值得时候,el-select选择器无法显示选中的内容,但是能触发change方法,并且能输出选择的值. select.vue文件 < ...

  2. Windows下判断jdk是否安装好以及环境变量是否配置好

    cmd下执行: 1.java 2.javac 3.where java 如果三个都没问题,说明安装成功&环境变量配置成功

  3. Linux 下tomcat 出现 java.lang.OutOfMemoryError: unable to create new native thread

    问题现象: Tomcat(8.5.13)部署了SuperMap iServer,并发用户在100左右.系统运行一段时间后,服务崩溃.异常提示 问题分析: 1.看到日志中的提示信息后,认为是系统内存不足 ...

  4. python爬虫之Beautifulsoup学习笔记

    相关内容: 什么是beautifulsoup bs4的使用 导入模块 选择使用解析器 使用标签名查找 使用find\find_all查找 使用select查找 首发时间:2018-03-02 00:1 ...

  5. Spring Boot Actuator认识

    概述 spring-boot-starter-actuator:是一个用于暴露自身信息的模块,主要用于监控与管理. 为了保证actuator暴露的监控接口的安全性,需要添加安全控制的依赖spring- ...

  6. 根据id来大量删除数据between

    id的范围来删除数据 比如要删除 110到220的id信息:delete id from 表名 where id between 110 and 220;

  7. 高通移植mipi LCD的过程LK代码

    lk部分:(实现LCD兼容) 1. 函数定位 aboot_init()来到target_display_init(): 这就是高通原生lk LCD 兼容的关键所在.至于你需要兼容多少LCD 就在whi ...

  8. windows 实用技巧

    以下内容版权归原作者所有!!!如果侵权,立即删除. 1.系统激活:https://mp.weixin.qq.com/s/Kl_iEeSSxSprblfSRZ6yEQ 2.百度云下载:https://w ...

  9. 服务器较稳妥的磁盘阵列方案:RAID5+热备盘

    最近公司这边要整个数据中心,但是我们这边磁盘阵列的方案选择方面需要做好万全的测试 内部测试的服务器当初损坏的磁盘1个做的raid5直接换个新磁盘做替换rebuild就行了 但是现在想的方法是5+1的方 ...

  10. zk理解(转载自邬兴亮---www.cnblogs.com/wuxl360/p/5817471.html)

    一.分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术.那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术 主要用来解决分布式环境当中多个进程之间的 ...