C# 程序默认使用管理员权限(转载)
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# 程序默认使用管理员权限(转载)的更多相关文章
- .net core程序强制以管理员权限启动
当我们编写windows程序的时候,很多时候需要程序默认以管理员权限运行,以前在.net 程序中直接新建一个app.manifest,设置requestedExecutionLevel 节点即可 &l ...
- Inno Setup打包的程序提升为管理员权限
Inno Setup打包的程序在Win7 64位系统上安装,安装步骤最后一步若选中运行程序,会跳出一个错误提示框. 这是因为64位win7系统运行程序时需要管理员权限,而打包的文件并没有这个权限就试图 ...
- 【程序打包工具 Inno Setup】CreateProcess 失败:代码 740(Inno Setup打包的程序提升为管理员权限)
原文参考 https://www.cnblogs.com/SnailProgramer/p/4243666.html http://blog.csdn.net/x356982611/article/d ...
- Win10系统如何设置所有程序默认以管理员身份运行?
原文:Win10系统如何设置所有程序默认以管理员身份运行? 在win10系统中有些用户发现一些程序只有使用管理员身份运行能才打开,这样的话就感觉会麻烦很多,那么有没有办法设置所有程序都默认以管理员身份 ...
- Inno Setup CreateProcess 失败:代码 740(Inno Setup打包的程序提升为管理员权限)
原文参考 https://www.cnblogs.com/SnailProgramer/p/4243666.html http://blog.csdn.net/x356982611/article/d ...
- 系统开启UAC情形下开机自启动程序如何以管理员权限启动
系统开启UAC情形下开机自启动程序如何以管理员权限启动 题记:本文阐述的是在Windows系统开启UAC的情况下,开机自启动程序需要以管理员权限启动, 系统弹出UAC对话框,用户同意的情形下启动程序 ...
- 【转载】Win10系统如何设置所有程序默认以管理员身份运行?
在win10系统中有些用户发现一些程序只有使用管理员身份运行能才打开,这样的话就感觉会麻烦很多,那么有没有办法设置所有程序都默认以管理员身份运行,而无需我们一个一个右键点击再打开呢? 目前最好的方法就 ...
- (转)在Winform程序中设置管理员权限及为用户组添加写入权限
本文转载自:http://www.cnblogs.com/wuhuacong/p/5645172.html 在我们一些Winform程序中,往往需要具有一些特殊的权限才能操作系统文件,我们可以设置运行 ...
- C#让程序自动在管理员权限下运行
windows 7和vista提高的系统的安全性,同时需要明确指定“以管理员身份运行”才可赋予被运行软件比较高级的权限,比如访问注册表等.否则,当以普通身份运行的程序需要访问较高级的系统资源时,将会抛 ...
随机推荐
- ArcGIS JavaScript API动态图层
矢量动态图层 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Typ ...
- Salesforce Live Agent 简介
Live Agent Salesforce 内置了即时聊天功能--Live Agent,可以用来作为客服工具. 本文简单介绍了使用 Live Agent 的步骤,主要包含: 启用 Live Agent ...
- Android Studio:Support Library依赖包的版本号
当我们用RecyclerView时,如果想用某一个特定的版本,怎样才能知道版本号呢?如果自己的笔记本中用过这个库,那么会保存在本地硬盘中. Android自身依赖包的版本号本地存放路径: 没有用过该 ...
- [iOS] KVC 和 KVO
开发iOS经常会看见KVO和KVC这两个概念,特地了解了一下. 我的新博客wossoneri.com link KVC Key Value Coding KVC是一种用间接方式访问类的属性的机制.比如 ...
- Ubuntu16.04升级 Ubuntu18.04
1.更新资源 $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt dist-upgrade 2.安装update-manager-core ...
- (后台)There is already 'jy.controller.jyadmin.JyDealerPackingReturnController' bean method
项目报了一个错误,百度翻译了一下: “我已经有jy.controller.jyadmin.jydealerpackingreturncontroller豆方法公共org.springframework ...
- python利用Trie(前缀树)实现搜索引擎中关键字输入提示(学习Hash Trie和Double-array Trie)
python利用Trie(前缀树)实现搜索引擎中关键字输入提示(学习Hash Trie和Double-array Trie) 主要包括两部分内容:(1)利用python中的dict实现Trie:(2) ...
- C# JObject和JArray 的分享
最近在调用别人的搜索引擎接口时遇到了一种返回类型为数组的情况,如 { "result": [ //根据用户输入搜索匹配到的标题数组 "我是一条新 ...
- 洗礼灵魂,修炼python(37)--面向对象编程(7)—了解魔法方法
也许上一篇博文提到的property内置函数的用法你还觉得记忆犹新,那么有没有更多的类似的方法呢?有的,就是本篇文章要说的魔法方法 魔法方法 1.什么是魔法方法 (其实前面已经提到多次,每次我都是说暂 ...
- Spring RestTemplate 中文乱码问题
1.原因 由于RestTemplate的默认构造方法初始化的StringHttpMessageConverter的默认字符集是ISO-8859-1,所以导致RestTemplate请求的响应内容会出现 ...