首页 > 其他分享 >Winform设置成默认以管理员方式启动的方法

Winform设置成默认以管理员方式启动的方法

时间:2023-05-22 14:33:28浏览次数:36  
标签:System 默认 Application 管理员 startInfo Security Principal Winform

 

很多 exe 应用如果不以管理员权限运行,达不到运行目的,也会让用户很困扰。

解决方法:

1、在项目上右键添加新文件,选择新建 app.manifest 文件

 

2、按照下图参照注释部分修改 trustInfo 节点中的配置即可

还有另外一个方法。这个需要写在Program.cs里面。

 static void Main(string[] Args)
  {
  /**
  * 当前用户是管理员的时候,直接启动应用程序
  * 如果不是管理员,则使用启动对象启动程序,以确保使用管理员身份运行
  */
  //获得当前登录的Windows用户标示
  System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();
 //创建Windows用户主题
  Application.EnableVisualStyles();
  
  System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity);
  //判断当前登录用户是否为管理员
  if (principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator))
  {
  //如果是管理员,则直接运行
 
  Application.EnableVisualStyles();
  Application.Run(new Form1());
  }
  else
  {
  //创建启动对象
 System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
 //设置运行文件
startInfo.FileName = System.Windows.Forms.Application.ExecutablePath;
 //设置启动参数
 startInfo.Arguments = String.Join(" ", Args);
//设置启动动作,确保以管理员身份运行
 startInfo.Verb = "runas";
 //如果不是管理员,则启动UAC
  System.Diagnostics.Process.Start(startInfo);
 //退出
  System.Windows.Forms.Application.Exit();
  }
 }

 

标签:System,默认,Application,管理员,startInfo,Security,Principal,Winform
From: https://www.cnblogs.com/qingjiawen/p/17420517.html

相关文章

  • 分享几个默认密码在线查询网站
    网络设备忘记了密码,不要慌,先看一下厂家和型号,找找产品手册,不行就在线查一查,比如下面这几个网站,说不定有惊喜。本文分享几个默认密码在线查询网站,仅用于用户找回默认密码,不许干坏事哦。网站所提供的管理员默认密码均出于研究目的以及合法用途。1、HUAWEI默认账号/密码查询工具提供......
  • 学习笔记-Java8新特性-第六节-接口中的默认方法与静态方法
    接口中的默认方法与静态方法默认方法在接口中可以使用default修饰方法,为方法提供默认实现publicinterfaceMyInterface{defaultvoidgetName(){System.out.println("DEFAULT");}}一般情况下,继承了接口的子类,可以不提供接口的实现类优先......
  • Ribbon默认负载均衡规则替换为NacosRule
    近期博主在参与一个SpringCloud搭建,版本为Hoxton.SR12,服务注册发现组件为Nacos的老项目时,发现项目负载均衡组件Ribbon的负载均衡规则在某些场景下不够完美,比如新版本上线,需要重启服务。因此写了这边文章与大家分享。在微服务架构中,负载均衡是实现高可用性、高性能和可......
  • matlab默认工作路径的修改方法,永久的
    说起来也简单,就是到安装路径文件夹下C:\ProgramFiles\R2011a\toolbox\local找文件mathrc.m文件,在最后一行添加cd'你想要的默认路径下文件夹',andifyoufinishthisstep,thenyoumakeit.......
  • controller是单例模式还是多例模式?spring默认的是单例模式,那么如何保证线程安全
    controller是单例模式还是多例模式在Java中,Controller既可以是单例模式,也可以是多例模式,这取决于具体的实现方式。在单例模式中,Controller只会被实例化一次,多个线程共享同一个实例。这样可以节约系统资源,提高系统性能。但是在多线程环境下,如果不加以保护,可能会出现线程安全的问......
  • 配置k8s的一个serviceaccount具有管理员权限并获取他的token
    创建sa账户/授定管理员角色权限cat>sa.yaml<<eofapiVersion:v1kind:ServiceAccountmetadata:name:kubepi-usernamespace:kube-systemeofcat>rolebe.yaml<<eofapiVersion:rbac.authorization.k8s.io/v1kind:ClusterRoleBindingmetadata:na......
  • linux默认目录和常用文件、目录
    1、介绍各种linux发行版本之间遵循基本一致的文件命名和使用规则,目录本身不具备特殊性,而是系统默认运行、安装、配置等会将文件保存在各个约定的目录下,建议用户也遵循这一约定,方便管理。2、默认目录(1)binbinaries二进制文件的缩写,存放的是普通命令。比如cat,cd(2)sbinsuperbin......
  • linux默认目录
    1、介绍在linux中,一切皆文件,即通过对文件的操作实现不同功能。(ll命令查看)目录是文件、网络访问也是文件、硬件设备还是文件。2、文件属性(1)文件类型第一个字符表示文件类型:d对应目录、-对应文件、l对应链接文档,b表示为装置文件里面的可供储存的接口设备(可随机存取装置);c......
  • nginx 默认配置文件
    #usernobody;worker_processes1;#error_loglogs/error.log;#error_loglogs/error.lognotice;#error_loglogs/error.loginfo;#pidlogs/nginx.pid;events{worker_connections1024;}http{includemime.types;defau......
  • JavaScript全解析——ES6函数中参数的默认值和解构赋值
    本文为千锋资深前端教学老师带来的【JavaScript全解析】系列,文章内含丰富的代码案例及配图,从0到1讲解JavaScript相关知识点,致力于教会每一个人学会JS!文末有本文重点总结,可以收藏慢慢看~更多技术类内容,主页关注一波!ES6函数中参数的默认值给函数的形参设置一个默认值,当你没有......