유용한 정보

[C#] 관리자 권한으로 실행하게 만들기

DevReff 2025. 4. 18. 06:42
728x90
728x90
SMALL

방법1)  app.manifest 파일 설정

    - 프로젝트 속성 -> 보안 -> ClickOnce 보안 설정 사용 체크

 

- 프로젝트 속성 -> 보안 -> ClickOnce 보안 설정 사용 해지

 

- app.manifest 파일을 열어보면 아래와 같이 되어 있다.

 

    - <requestedExecutionLevel level="asInvoker" uiAccess="false" /> 부분을

      <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 로 수정

반응형

방법2) ProcessStart 이용

using System.Diagnostics;
using System.Security.Principal;


static void Main()
{
if (IsAdmin())
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
else
{
ProcessStartInfo pi = new ProcessStartInfo();
pi.UseShellExecute = true;
pi.FileName = Application.ExecutablePath;
pi.WorkingDirectory = Environment.CurrentDirectory;
pi.Verb = "runas";
Process.Start(pi);
}
}

public static bool IsAdmin()
{
WindowsIdentity id = WindowsIdentity.GetCurrent();
if (id != null)
{
WindowsPrincipal principal = new WindowsPrincipal(id);
return principal.IsInRole(WindowsBuiltInRole.Administrator);
}

return false;
}

728x90
728x90
LIST