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; } } }
'개발언어 > C#' 카테고리의 다른 글
C# interface 안에서 Delegate 선언 (0) | 2017.06.14 |
---|---|
C#크로스 스레드 작업이 잘못 되었습니다.(delegate,Invoke 사용하기) (0) | 2017.06.14 |
c#Typeof로 동적 인스턴스 만들기 (0) | 2017.05.19 |
Compiling C# Code at Runtime (0) | 2017.05.19 |
C#에서 Docking Control 사용하기 (0) | 2017.05.18 |