WinForm实现管理员权限运行的三种方式
-Begin-
前言
相信大家都遇到过这种情况,我们的软件运行时,如果涉及到文件或者数据库操作的时候,可能会提示权限不足。一种比较简单的办法,就是右击以管理员权限运行,但是每次这么操作,又会比较麻烦,有没有什么更好的办法呢?今天跟大家分享一下WinForm程序以管理器权限运行的几种方法。
采用Process.Start方法
思路很简单,就是在Program.cs入口处判断当前是不是管理员权限,如果是,则不做其他处理,如果不是,改成管理员权限。
修改Main方法如下所示:
/// <summary>/// 应用程序的主入口点。/// </summary>[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);//获得当前登录的Windows用户标示WindowsIdentity identity = WindowsIdentity.GetCurrent();WindowsPrincipal principal = new WindowsPrincipal(identity);//判断当前登录用户是否为管理员if (principal.IsInRole(WindowsBuiltInRole.Administrator)){//如果是管理员,则直接运行Application.Run(new FrmMain());}else{//创建启动对象ProcessStartInfo startInfo = new ProcessStartInfo();startInfo.UseShellExecute = true;startInfo.WorkingDirectory = Environment.CurrentDirectory;startInfo.FileName = Application.ExecutablePath;//设置启动动作,确保以管理员身份运行startInfo.Verb = "runas";try{Process.Start(startInfo);}catch{return;}//退出Application.Exit();}}
直接修改exe属性
右击exe程序文件,在弹出的属性对话框中,兼容性选项中,勾选“以管理员身份运行此程序”即可。
添加应用程序清单文件
这种方法也是我常用的一种方式。
点击项目,右击添加,新建项,选择应用程序清单列表。
添加完成后,打开app.manifest文件,将:
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
修改为:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
WinForm实现管理员权限运行的三种方式相关推荐
- c#中程序以管理员身份运行的三种办法
三种办法: 一.设置程序本身的属性:勾选"以管理员身份运行此程序",必要时设置"更改所有用户设置-以管理员身份运行此程序",当然这种办法是被动的,也不是最实际的 ...
- Hadoop 07_MapReduce运行的三种方式
Mapreduce运行3种方式 本地方式运行: pc环境 1.1.将 Hadoop安装本地解压 1.2.配置 Hadoop的环境变量 添加%HADOOP_HOME% 修改%PATH%添加%HADOOP ...
- python运行的三种方式
一.交互模式下执行 Python 这种模式下,无需创建脚本文件,直接在 Python解释器的交互模式下编写对应的 Python 语句即可. 1)打开交互模式的方式: Windows下:在开始菜单找到& ...
- 终止python代码运行的三种方式
一 sys.exit() 执行这条语句会直接退出程序,也是常用的方法,不需要考虑平台等因素的影响.它通常是退出 Python 程序的首选方法. 该方法包含一个参数status,默认为0,表示正常退出, ...
- python程序执行三种方式,Python运行程序的三种方法
对于python中运行程序的方法,是我们初学时就已经掌握过的了,想必大家会的只是其中的一两种方式. 本篇对程序运行的三种方式进行了整理,分别是:Python的解释器.交互式运行和PyCharm,大家在 ...
- C#程序以管理员权限运行
原文:C#程序以管理员权限运行 C#程序以管理员权限运行 在Vista 和 Windows 7 及更新版本的操作系统,增加了 UAC(用户账户控制) 的安全机制,如果 UAC 被打开,用户即使以管理员 ...
- 设置Win10批处理bat文件默认以管理员权限运行
要使bat文件默认以管理员权限运行有多种方法: 在该bat文件开头添加某些代码,实现该bat文件默认以管理员权限运行. 通过命令行修改系统设置,使得cmd默认进入管理员模式. 通过创建快捷方式,设定快 ...
- Win10下应用程序默认管理员权限运行
系统升级到win10后,普通应用程序不再默认以管理员权限运行了.当应用程序需要访问系统盘或调CreateFile函数进行IO驱动操作时,往往会失败,同时,通过GetLastError函数获取错误码为5 ...
- 详解python运行三种方式_详解python运行三种方式
方式一 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: $ p ...
最新文章
- MyBatis 源码分析 - SQL 的执行过程
- 前微博副总私房干货:微博平台与架构从零到IPO的打磨经验
- linux桌面服务器系统下载,Ubuntu 14.10 中文桌面版/服务器正式版下载
- HTML图片元素(标记)
- pytorch自带网络_PyTorch机器学习笔记(1)整好环境
- api接口返回动态的json格式?我太难了,尝试一下 linq to json
- Java中的访问者设计模式–示例教程
- 三星:计划将UTG可折叠面板对外出售
- android标签循环,iOS和Android规范解析——标签导航和分段控件
- 17. 信号量,共享内存和消息队列
- spring boot启动加载tomcat原理深度剖析
- 2022新版UI云购H5系统源码+完美运行/功能强大
- 计算机视觉教程7-3:Openpose配置与实践
- 地下城php补丁怎么用,dnf补丁怎么用,教你如何学会使用补丁
- SDOI2015 寻宝游戏
- 部署 LAMP 平台
- B区路上看到了美女。。。
- 注意前方,有月亮出现
- 写500字关于漫威英雄的论文
- JS中的pipe原理
热门文章
- iFunk新动向,从科技到生活
- 服务器放在机柜_服务器机柜怎么布线 如何做好机柜整理【详解】
- mysql php b s_PHP-- B/S结构
- 青岛科技大学计算机应用技术专科,青岛科技大学有专科吗
- 如何组建性能测试团队?
- 材料物理与计算机科学与技术,盘点清华大学的优势专业|清华大学|生物医学工程|电子信息工程|机械工程及自动化|数学与应用数学|材料科学与工程|计算机科学与技术|物理学|博士|电气工程及其自动化...
- 阿里云大数据实验室:MaxCompute使用体验
- Android 可长按拖拽的RecyclerView
- 三星emcp型号详解_eMCP--eMMC-嵌入式存储应用解析【手机篇】
- 关于python语句p p_关于Python语句P=-P,哪个选项的描述是正确的?_学小易找答案