아래에 C#에서 관리자 권한 획득을 위한 코드를 적어본다.
아래 코드는 윈도우 폼 프로그램 작성 시에는 Program.cs 에서 수정을 하면 된다.
using System;
/* 실행 시 관리자 권한 상승을 위해 추가*/
using System.Security.Principal;
using System.Diagnostics;
/* 추가 끝 */
namespace adminTest
{
static class Program
{
///
/// 해당 응용 프로그램의 주 진입점입니다.
///
[STAThread]
static void Main()
{
/* 실행 시 관리자 권한 상승을 위한 코드 시작 */
if (/* Main 아래에 정의된 함수 */IsAdministrator() == false)
{
try
{
ProcessStartInfo procInfo = new ProcessStartInfo();
procInfo.UseShellExecute = true;
procInfo.FileName = Application.ExecutablePath;
procInfo.WorkingDirectory = Environment.CurrentDirectory;
procInfo.Verb = "runas";
Process.Start(procInfo);
}
catch (Exception ex)
{
System.console.writeline(ex.Message.ToString());
}
return;
}
/* 실행 시 관리자 권한 상승을 위한 코드 끝 */
}
/* 실행 시 관리자 권한 상승을 위한 함수 시작 */
public static bool IsAdministrator()
{
WindowsIdentity identity = WindowsIdentity.GetCurrent();
if (null != identity)
{
WindowsPrincipal principal = new WindowsPrincipal(identity);
return principal.IsInRole(WindowsBuiltInRole.Administrator);
}
return false;
}
/* 실행 시 관리자 권한 상승을 위한 함수 끝 */
}
}
위 코
하욤
답글삭제