您的位置:首页 > 编程语言 > C#

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

2015-02-25 13:40 218 查看
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();

}

}

}

}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: