当前位置:首页 > 计算机相关 > .net专区 > 正文内容

让win8下C#开发的软件默认以管理员身份运行

piikee10年前 (2014-03-08).net专区816
static void Main(string[] Args)
{
//获得当前登录的Windows用户标示
System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();
//创建Windows用户主题
Application.EnableVisualStyles();
[separator]
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();
}
}
将程序集里的Program.cs文件中Main方法中的代码替换为以上代码即可让软件默认以管理员身份运行。

扫描二维码推送至手机访问。

版权声明:本文由萍客小居[www.piikee.net]发布,如需转载请注明出处。

本文链接:https://www.piikee.net/1030.html

分享给朋友:

相关文章

Visual Studio配备供你的应用使用的图标库

操作步骤:在Visual Studio的安装目录:\Program Files\Microsoft Visual Studio 9.0\Common7\VS2008ImageLibrary\ 有个 VS2008ImageLibrary.zi...

图解vs2008打包全过程,含卸载功能

图解vs2008打包全过程,含卸载功能

1:新建安装部署项目打开VS编辑器,点击新建项目,选择:其他项目类型--安装与部署--安装向导(安装项目也一样),然后点击确定.(详细见下图)本文虽以VS2005打包为例,但是在VS2008下一样也可以用此法,本人已经在VS2008下测试通...

AjaxControlToolKit中 CalendarExtender(日历扩展控件)变为中文界面

ScriptManager控件的EnableScriptGlobalization属性 和EnableScriptLocalization属性设置为 true则  CalendarExtender 控件为中文...

C#的窗体(WinForm)退出杂谈

1、Winform点击退出按钮,需要确认再退出:private void MainForm_FormClosing(object sender, FormClosingEventArgs e){if (MessageBox.Show("是否...

zedgraph去掉右键菜单中的选项

在zedgraph生成的图表中,右键菜单会出现”恢复默认大小“等菜单项,这些选项可以通过如下方法去掉。方法一:没有zedgraph源文件的情况:在zedGraph控件中的ContextMenuBuilder事件中加入如下操作:private...

C#重写WndProc 方法实现无法关闭的窗体

在窗体的设计文件Form1.Designer.cs中重写WndProc 方法 ,实现拦截窗体特定消息。代码如下:protected override void WndProc(ref System.Windows.Forms.Message...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。