728x90
반응형
출처: www.enjoydev.net/xe/en_devboard/26728
다음 함수는 프로그램이 관리자 권한으로 실행했는지에 대한 여부를 알 수 있게 하는 함수이다.
Static 함수로 추가하거나 클래스에 다음 함수를 추가한다.
아래 코드는 Static 함수로 추가하였다.
public static bool IsAdministrator()
{
WindowsIdentity identity = WindowsIdentity.GetCurrent();
if (null != identity)
{
WindowsPrincipal principal = new WindowsPrincipal(identity);
return principal.IsInRole(WindowsBuiltInRole.Administrator);
}
return false;
}
관리자 권한이 아닌 경우 함수에서 false를 리턴한다.
programs.cs 진입점 파일에 다음 코드를 추가한다.
if (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)
{
MessageBox.Show(ex.Message.ToString());
}
return;
}
위 코드에서 관리자 권한으로 실행할 것인지를 묻는 시스템 메시지를 출력해준다.
반응형
'개발 > C#' 카테고리의 다른 글
[2021.04] C#에서 WIN32 API를 이용한 객체로 폼 이동방법 (0) | 2021.04.06 |
---|---|
[2021.04] C#에서 이중 인증 중 OTP 활용 방법 (0) | 2021.04.06 |
[2021.03] C#에서 Unix Time을 구해보자. (0) | 2021.03.26 |
[2021.03] SqLite + Dapper(ORM) 사용방법 (0) | 2021.03.10 |
[2021.01] Grassroots DICOM for C# (VS2017) 빌드방법 (0) | 2021.02.17 |