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. docker 安装 gitlab

    基于Docker部署GitLab环境搭建 建议虚拟机内存2G以上 1.下载镜像文件 docker pull beginor/gitlab-ce:11.0.1-ce.0 注意:一定要配置阿里云的加速镜像 ...

  2. ionic3 细节注意

    一.图标和splash大小不一样 icon图标的大小尽量为1024*1024,并且不能为圆角. splash图片的大小尽量为2732*2732,ionic1的大小为2208*2208

  3. 我的Java之旅 第五课 JAVA 语言语法 集合

    JAVA集合只能存放引用类型的的数据,不能存放基本数据类型,int 可以用 Integer代替. 一.集合接口  1.  Iterable<E> 实现这个接口允许对象成为 "fo ...

  4. Salesforce的公式和验证规则

    公式 在Salesforce中,有些功能不需要从数据库中直接读取的数据,而是基于这些数据之间的关系来做出判断.这种情况下就要用到"公式"功能. 公式的概念和Excel中的公式类似, ...

  5. 开始记录 Windows Phone 生涯

    已经快接近三年没有更新博客了,最近打算把博客这块从新建设起来. 由于工作原因,现在已经很久没有接触过Android了.目前工作是全力 Windows Phone,并且也已经工作一年半了,以后会陆续把之 ...

  6. android recovery 升级之USB设备挂载

    Recovery升级过程,通常会从两个地方获取升级包update.zip升级,一般在线升级,会把升级包下载到cache分区,本地升级会从usb或者tf卡中升级.本文讨论下,本地USB升级时,无法挂载U ...

  7. Arch Linux 更新源(以清华 arch 源为例)

    Arch Linux 编辑­/etc/pacman.d/mirrorlist,在文件最顶端添加: Server = https://mirrors.tuna.tsinghua.edu.cn/archl ...

  8. AdapterView<T extends Adapter>

    http://zhidao.baidu.com/link?url=mgs08yinrG-rt2864QvlbKmdbyn9rm-KTqm1CODNQpVLnVvAndkJRVJ8mN4_XkNDB2_ ...

  9. console.time和console.timeEnd用法

    console.time和console.timeEnd这两个方法可以用来让WEB开发人员测量一个javascript脚本程序执行消耗的时间.随着WEB应用越来越重要,JavaScript的执行性能也 ...

  10. npm 常用命令 查看版本、安装、卸载

    npm list // 查看本地已安装模块清单 npm list [packageName] // 查看本地已安装模块版本 npm info [packageName] //查看模块的详细信息 包括各 ...