윈도우7 에서 관리자권한으로 실행하기. UAC 권한 상승.
무슨 설명이 필요하리까.
현재 PC의 권한 상태를 확인하고
관리자가 아니면 관리자권한으로 상승시키고 해당 윈폼을 실행시킨다.
만약 이렇게 처리해주지 않는다면 항상 확인 창이 뜨겠지. 관리자권한이 필요합니다~~~ 뭐 이런식으로.
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Windows.Forms;
using System.Security.Principal;
namespace Hysco_Widget
{
static class Program
{
/// <summary>
/// 해당 응용 프로그램의 주 진입점입니다.
/// </summary>
[STAThread]
static void Main()
{
bool administrator = _isAdministrator();
if(!administrator)
{
System.Diagnostics.ProcessStartInfo processInfo = new System.Diagnostics.ProcessStartInfo(System.Reflection.Assembly.GetExecutingAssembly().CodeBase);
// MessageBox.Show(System.Reflection.Assembly.GetExecutingAssembly().CodeBase);
processInfo.UseShellExecute = true;
processInfo.Verb = "runas";
Process.Start(processInfo);
}
else
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
private static bool _isAdministrator()
{
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
return principal.IsInRole(WindowsBuiltInRole.Administrator);
}
}
}