/// <summary>
/// 判断程序是否是以管理员身份运行。
/// </summary>
public static bool IsRunAsAdmin()
{
WindowsIdentity id = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(id);
return principal.IsInRole(WindowsBuiltInRole.Administrator);
}
//不是以管理员身份开启,则自动以管理员身份重新打开程序
//写在构造里比较省资源
public LoginFrm()
{
try
{
//判断是否以管理员身份运行,不是则提示
if (!PublicUtil.IsRunAsAdmin())
{
ProcessStartInfo psi = new ProcessStartInfo();
psi.WorkingDirectory = Environment.CurrentDirectory;
psi.FileName = Application.ExecutablePath;
psi.UseShellExecute = true;
psi.Verb = "runas";
Process p = new Process();
p.StartInfo = psi;
p.Start();
Process.GetCurrentProcess().Kill();
}
}
catch (Exception ex)
{
ExceptionScheduler.ExceptionScheduler exceptionScheduler = new ExceptionScheduler.ExceptionScheduler(ex);
ShowMessageOnUI.ShowErrorMessage("程序无法获取Windows管理员身份运行,\n请手动使用Windows管理员身份运行");
}
InitializeComponent();
}
分享到:
相关推荐
exe在Vista或Win7下不以管理员权限运行,会被UAC(用户帐户控制)阻止访问系统某些功能,如修改注册表操作等;如何让exe以管理员权限运行呢,方法有两种,(C#)
C#程序以管理员权限运行
C#程序 -- 以管理员权限运行
C#判断程序是否第一次启动
C#默认以管理员身份运行程序实现代码_.docx
C#判断文件是否被打开,以前自己用的,似乎也是从网上找来的。
C#winform判断窗体是否打开 更适用于mdi
程序默认以管理员身份运行 代码如下: static void Main(string[] Args) { /** * 当前用户是管理员的时候,直接启动应用程序 * 如果不是管理员,则使用启动对象启动程序,以确保使用管理员身份运行 */ //获得当前...
c# 有时程序必须以管理员运行才能实现一些功能,比如添加防火墙例外、自动安装mcr等。
C#判断当前计算机用户账户是不是管理员身份
主要介绍了C#判断程序是否是管理员权限运行的方法代码示例,本文直接给出实现代码例子,需要的朋友可以参考下
主要介绍了C#判断本地文件是否处于打开状态的方法,涉及C#操作文件的技巧,非常具有实用价值,需要的朋友可以参考下
C# 管理系统源码 任务管理 完整 C# 打开就可运行、 C# 管理系统源码 任务管理 完整 C# 打开就可运行
C#监听程序是否正在运行
C#程序运行时,有时需要根据指定的人员的身份来运行。例如:在编写Web服务时有可能用到特定身份来执行某段程序,或者进行AD访问的时候需要管理员身份运行等
主要介绍了C#中用管理员身份运行程序代码实例,本文直接给出实现代码,需要的朋友可以参考下
C#运行指定应用程序,模拟Windows的运行命令,可视化窗体操作,入门者必看实例。
主要介绍了C#判断某程序是否运行的方法,代码结构简单功能实用,需要的朋友可以参考下
C# 管理系统源码 财务管理 完整 C# 打开就可运行 管理系统 C# 管理系统源码 财务管理 完整 C# 打开就可运行 管理系统