-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实现管理员权限运行的三种方式相关推荐

  1. c#中程序以管理员身份运行的三种办法

    三种办法: 一.设置程序本身的属性:勾选"以管理员身份运行此程序",必要时设置"更改所有用户设置-以管理员身份运行此程序",当然这种办法是被动的,也不是最实际的 ...

  2. Hadoop 07_MapReduce运行的三种方式

    Mapreduce运行3种方式 本地方式运行: pc环境 1.1.将 Hadoop安装本地解压 1.2.配置 Hadoop的环境变量 添加%HADOOP_HOME% 修改%PATH%添加%HADOOP ...

  3. python运行的三种方式

    一.交互模式下执行 Python 这种模式下,无需创建脚本文件,直接在 Python解释器的交互模式下编写对应的 Python 语句即可. 1)打开交互模式的方式: Windows下:在开始菜单找到& ...

  4. 终止python代码运行的三种方式

    一 sys.exit() 执行这条语句会直接退出程序,也是常用的方法,不需要考虑平台等因素的影响.它通常是退出 Python 程序的首选方法. 该方法包含一个参数status,默认为0,表示正常退出, ...

  5. python程序执行三种方式,Python运行程序的三种方法

    对于python中运行程序的方法,是我们初学时就已经掌握过的了,想必大家会的只是其中的一两种方式. 本篇对程序运行的三种方式进行了整理,分别是:Python的解释器.交互式运行和PyCharm,大家在 ...

  6. C#程序以管理员权限运行

    原文:C#程序以管理员权限运行 C#程序以管理员权限运行 在Vista 和 Windows 7 及更新版本的操作系统,增加了 UAC(用户账户控制) 的安全机制,如果 UAC 被打开,用户即使以管理员 ...

  7. 设置Win10批处理bat文件默认以管理员权限运行

    要使bat文件默认以管理员权限运行有多种方法: 在该bat文件开头添加某些代码,实现该bat文件默认以管理员权限运行. 通过命令行修改系统设置,使得cmd默认进入管理员模式. 通过创建快捷方式,设定快 ...

  8. Win10下应用程序默认管理员权限运行

    系统升级到win10后,普通应用程序不再默认以管理员权限运行了.当应用程序需要访问系统盘或调CreateFile函数进行IO驱动操作时,往往会失败,同时,通过GetLastError函数获取错误码为5 ...

  9. 详解python运行三种方式_详解python运行三种方式

    方式一 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: $ p ...

最新文章

  1. MyBatis 源码分析 - SQL 的执行过程
  2. 前微博副总私房干货:微博平台与架构从零到IPO的打磨经验
  3. linux桌面服务器系统下载,Ubuntu 14.10 中文桌面版/服务器正式版下载
  4. HTML图片元素(标记)
  5. pytorch自带网络_PyTorch机器学习笔记(1)整好环境
  6. api接口返回动态的json格式?我太难了,尝试一下 linq to json
  7. Java中的访问者设计模式–示例教程
  8. 三星:计划将UTG可折叠面板对外出售
  9. android标签循环,iOS和Android规范解析——标签导航和分段控件
  10. 17. 信号量,共享内存和消息队列
  11. spring boot启动加载tomcat原理深度剖析
  12. 2022新版UI云购H5系统源码+完美运行/功能强大
  13. 计算机视觉教程7-3:Openpose配置与实践
  14. 地下城php补丁怎么用,dnf补丁怎么用,教你如何学会使用补丁
  15. SDOI2015 寻宝游戏
  16. 部署 LAMP 平台
  17. B区路上看到了美女。。。
  18. 注意前方,有月亮出现
  19. 写500字关于漫威英雄的论文
  20. JS中的pipe原理

热门文章

  1. iFunk新动向,从科技到生活
  2. 服务器放在机柜_服务器机柜怎么布线 如何做好机柜整理【详解】
  3. mysql php b s_PHP-- B/S结构
  4. 青岛科技大学计算机应用技术专科,青岛科技大学有专科吗
  5. 如何组建性能测试团队?
  6. 材料物理与计算机科学与技术,盘点清华大学的优势专业|清华大学|生物医学工程|电子信息工程|机械工程及自动化|数学与应用数学|材料科学与工程|计算机科学与技术|物理学|博士|电气工程及其自动化...
  7. 阿里云大数据实验室:MaxCompute使用体验
  8. Android 可长按拖拽的RecyclerView
  9. 三星emcp型号详解_eMCP--eMMC-嵌入式存储应用解析【手机篇】
  10. 关于python语句p p_关于Python语句P=-P,哪个选项的描述是正确的?_学小易找答案