WindowsIdentity wi = WindowsIdentity.GetCurrent();
bool runAsAdmin = wi != null && new WindowsPrincipal(wi).IsInRole(WindowsBuiltInRole.Administrator);
if (!runAsAdmin)
{
try
{
//不可能以管理员方式直接启动一个 ClickOnce 部署的应用程序,所以尝试以管理员方式启动一个新的进程
Process.Start(new ProcessStartInfo(Assembly.GetExecutingAssembly().CodeBase) { UseShellExecute = true, Verb = "runas" });
}
catch (Exception ex)
{
MessageBox.Show(string.Format("以管理员方式启动失败,将尝试以普通方式启动!{0}{1}", Environment.NewLine, ex), "出错啦!", MessageBoxButtons.OK, MessageBoxIcon.Error);
run();//以管理员方式启动失败,则尝试普通方式启动
}
Application.Exit();
}
c# winform 管理员运行
最新推荐文章于 2024-08-01 17:05:58 发布