LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

WinForm实现管理员权限运行的三种方式

admin
2024年3月30日 15:54 本文热度 666

前言

相信大家都遇到过这种情况,我们的软件运行时,如果涉及到文件或者数据库操作的时候,可能会提示权限不足。一种比较简单的办法,就是右击以管理员权限运行,但是每次这么操作,又会比较麻烦,有没有什么更好的办法呢?今天跟大家分享一下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" />

————————————————

版权声明:本文为CSDN博主「常哥说编程」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/xiketangAndy/article/details/120846627


该文章在 2024/3/30 23:38:08 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved