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

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

piikee9年前 (2014-03-08).net专区573
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方法中的代码替换为以上代码即可让软件默认以管理员身份运行。

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

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

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

分享给朋友:

相关文章

标签和

首先,他们都主要应用于样式表,功能是相似的。但是,<code><span></code>是行级元素,也就是说内部的元素不另起一行进行渲染,而<code><div></code...

带后缀判别的文件上传asp.net程序

Default.aspx.csusing System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;usin...

让SQL Server2005允许远程连接

在尝试从远程计算机连接到 Microsoft SQL Server 2005 实例时,可能会接收到错误消息。在使用任何程序连接到 SQL Server 时都可能会发生此问题。例如,在使用 SQLCMD 实用工具连接到 SQL Server...

C#窗体也有DOCK属性

在一个主窗体里面,放入一个PANEL和一个窗体。然后,里面那个窗体最大化时,会覆盖了PANEL或者被PANEL覆盖。要让里面的窗体最大化时刚好把PANEL剩下的空间填满可以这样做: 把form2.Dock = DockStyle.Fill;...

Windows 7下IIS+VS2008+Office2007无错完美安装方法

(1)先把IIS给装上。(2)安装VS2008。(3)安装Office2007。注意顺序,还有VS2008必须解压出来安装,不能用虚拟光驱。仅此而已。...

AjaxControlToolkit中各个控件功能说明

1.Accordion控件1.1【功能概述】Accordion可以让你设计多个panel 并且一次只显示一个Panel .在页面上的显示效果就像是使用了多个CollapsiblePanels只不过每一次只展开其中一个CollapsibleP...

发表评论

访客

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