C# 以管理员身份运行程序

摘要:
使用系统;使用System.Collections。通用的使用系统。Linq;使用System.Windows。形式;NamespaceMyWebBrowser{staticpassProgram{///<summary>////应用程序的主要入口点。///</summary>[STAThread]staticvoidMain(){//获取当前
using System;
 
using System.Collections.Generic;
 
using System.Linq;
 
using System.Windows.Forms;
 
 
 
namespace MyWebBrowser
 
{
 
    static class Program
 
    {
 
        /// <summary>
 
        /// 应用程序的主入口点。
 
        /// </summary>
 
        [STAThread]
 
        static void Main()
 
        {
 
            //获得当前登录的Windows用户标示 
 
            System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();
 
            System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity);
 
            //判断当前登录用户是否为管理员 
 
            if (principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator))
 
            {
 
                //如果是管理员,则直接运行 
 
                Application.EnableVisualStyles();
 
                Application.SetCompatibleTextRenderingDefault(false);
 
                Application.Run(new Form1());
 
            }
 
            else
 
            {
 
                //创建启动对象 
 
                System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
 
                //设置运行文件 
 
                startInfo.FileName = System.Windows.Forms.Application.ExecutablePath;
 
                //设置启动动作,确保以管理员身份运行 
 
                startInfo.Verb = "runas";
 
                //如果不是管理员,则启动UAC 
 
                System.Diagnostics.Process.Start(startInfo);
 
                //退出 
 
                System.Windows.Forms.Application.Exit();
 
            }
 
        }
 
    }
 
}

免责声明:文章转载自《C# 以管理员身份运行程序》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇菜鸟调错(八)—— Maven编译错误:不兼容的类型的解决方式android 蓝牙通信编程讲解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

为DataGrid添加自动编号功能

下面的代码实现在DataGrid中添加自动编号的功能,主要是在数据绑定时利用Item属性。 DataGridWithLine.aspx <%@ Page Language="vb" AutoEventWireup="false" Codebehind="DataGridWithLine.aspx.vb"Inherits="aspxWeb.DataG...

无法启动计算机“”上的服务 ReportServer 错误1053:服务没有及时响应启动或控制请求

背景: 网络组同事在服务器上安装防病毒软件并且修改了administrator帐号的密码,然后重启电脑后,reproting services就无法启动了。 出现错误如下: 1.报表服务器网页显示错误 System.InvalidOperationException: 无法启动计算机“ ”上的服务 ReportServer。 ---> System....

SystemInfo获取设备系统参数

using UnityEngine; using System.Collections; using System.Collections.Generic; publicclassGameControllerScript:MonoBehaviour { //指定输出文本框 publicUnityEngine.UI.Text messageText; //存...

【自动化测试】使用Java+selenium填写验证码成功登录

  这是我第一次发博客,若有问题,请多多指教!   本次是为了帮忙解决,如果在平时自动化遇到有验证码填写的情况,我们如何成功登录情况。 思路:     首先我们先将验证码复制并保存成一个图片,然后使用tesseract-ocr这个光学软件识别成txt文件,接着我们只要读取txt文件的内容即可    2. 使用工具:     Eclipse、selenium...

EF中的批量操作

阅读目录 插入 更新 删除 在使用EF的过程中,我们经常会遇到需要批量操作数据的场景,批量操作有的时候不仅能提高性能,比如使用SqlBulkCopy进入批量插入的时候,而且比较方便操作,提高效率。那么这篇文章就来总结EF中的那些批量操作。 回到顶部 插入 1,单个插入 单个插入很简单,只需要构造好实体,然后调用DbSet的Add方法,最后Sav...

c#中高效的excel导入sqlserver的方法

将oledb读取的excel数据快速插入的sqlserver中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测试代码导入一个6万多条数据的sheet,包括读取(全部读取比较慢)在我的开发环境中只需要10秒...