tnblog
首页
视频
资源
登录

确保.net程序始终以管理员身份运行

3310人阅读 2018/12/13 15:49 总访问:18416 评论:0 收藏:0 手机
分类: DotNet捣鼓
  1.   
  2.             
  3.     using System;
  4.     using System.Collections.Generic;
  5.     using System.Linq;
  6.     using System.Text;
  7.     using System.Threading.Tasks;
  8.     
  9.     namespace ConsoleApplication17
  10.     {
  11.         class Program
  12.         {
  13.             static void Main(string[] args)
  14.             {
  15.                 //Application.EnableVisualStyles();
  16.                 //Application.SetCompatibleTextRenderingDefault(false);
  17.     
  18.                 /**
  19.                  * 当前用户是管理员的时候,直接启动应用程序
  20.                  * 如果不是管理员,则使用启动对象启动程序,以确保使用管理员身份运行
  21.                  */
  22.                 //获得当前登录的Windows用户标示
  23.                 System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();
  24.                 System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity);
  25.                 //判断当前登录用户是否为管理员
  26.                 if (principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator))
  27.                 {
  28.                     //如果是管理员,则直接运行
  29.                     Console.WriteLine("是管理员身份运行");
  30.                     Console.Read();
  31.                 }
  32.                 else
  33.                 {
  34.                     //如果是管理员,则直接运行
  35.                     Console.WriteLine("不是管理员身份运行");
  36.                     //创建启动对象
  37.                     System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
  38.                     startInfo.UseShellExecute = true;
  39.                     startInfo.WorkingDirectory = Environment.CurrentDirectory;
  40.                     //自己写入自己的程序路径
  41.                     startInfo.FileName = Environment.CurrentDirectory + "//ConsoleApplication17.exe";
  42.                     //设置启动动作,确保以管理员身份运行
  43.                     startInfo.Verb = "runas";
  44.                     try
  45.                     {
  46.                         System.Diagnostics.Process.Start(startInfo);
  47.                     }
  48.                     catch
  49.                     {
  50.                         return;
  51.                     }
  52.                     //退出
  53.                     //Application.Exit();
  54.                 }
  55.                 
  56.             }
  57.         }
  58.     }


评价

无法将“node.exe”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次

前言:大家好我是小付,还记得上一次写了一篇虚拟机的安装教程吗?就是因为那个玩意 把我坑了好久,刚开始不晓得咋玩 就在...

net core 使用 EF Code First

下面这些内容很老了看这篇:https://www.tnblog.net/aojiancc2/article/details/5365 项目使用多层,把数据库访问...

cAPS.net 保存base64位格式的图片

publicvoidUpload() { //取出图片对应的base64位字符 stringimgBase=Request["imgBase"]; //c#里边的base6...

Quartz.net实例动态改变周期调度。misfire、Cron

Quartz:Java编写的开源的任务调度作业框架 类似Timer之类定时执行的功能,但是更强大Quartz.NET:是把Quartz转成C# NuGet...

.net Windows服务发布、安装、卸载、监听脚本。服务调试

一、脚本 为方便不用每次都去写安装卸载的脚本1.安装脚本@echooff @echo开始安装【服务】 %SystemRoot%\Microsoft.NET\Fr...

c、VB.net中全角半角转换方法

///<summary> ///转全角的函数(SBCcase) ///</summary> ///<paramname="input">任意字符串...

.net mvc分部页,.net core分部页

.net分部页的三种方式第一种:@Html.Partial("_分部页")第二种:@{ Html.RenderPartial("分部页");}...

.net实现QQ邮箱发送邮件功能

1、微软已经帮我们封装好了发送邮件的类MailMessage,MailMessage类构造一些邮件信息,然后通过SmtpClient进行邮件发送。Mai...

StackExchange.Redis操作redis(net core支持)

官方git开源地址https://github.com/StackExchange/StackExchange.Redis官方文档在docs里边都是官方的文档通过nuget命令下...

windows 自带的netsh进行端口映射

使用netsh 把本地任意ip的25566端口 映射到192.168.81.234的25565端口netshinterfaceportproxyaddv4tov4listenaddress=0.0....

ASP.net Timer细节处理

Timer的用法:1:本人称之为计时器,是asp.net官方的一种。用法即是计时所用 2:关于计时有很多中方式,本人学识有限,暂...

.net core 使用session

tip:net core 2.2后可以直接启用session了,不用在自己添加一次session依赖,本身就添加了使用nuget添加引用Microsoft.AspN...

通俗易懂,什么是.net?什么是.net Framework?什么是.net core?

朋友圈@蓝羽 看到一篇文章写的太详细太通俗了,搬过来细细看完,保证你对.NET有个新的认识理解原文地址:https://www.cnblo...

asp.net core2.0 依赖注入 AddTransient与AddScoped的区别

asp.net core主要提供了三种依赖注入的方式其中AddTransient与AddSingleton比较好区别AddTransient瞬时模式:每次都获取一...

asp.net主动推送百度seo

虽然可以使用百度提供的js自动推送,但是估计度娘还是希望主动推送一点。哈哈^_^,女孩子嘛大多都喜欢被动一点。publicclass...
Amazing everday
排名
70
文章
6
粉丝
0
评论
1
简单反调试
剑轩 : 反调试,很高端的操作
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
你,对,你,就是你,你是你。