특정 폴더 또는 파일에 접근 할 때 권한이 없어 UnauthorizedAccessException 때문에 고생하셨던 기억있으시죠?
프로젝트 생성 후 Program.cs 파일에서 추가하여 사용하면 됩니다.
프로그램 실행하면 관리자권한으로 사용할지 여부를 묻는 메시지박스 창에서 '예'를 선택하면 관리자 권한으로 프로그램을 사용 할 수 있습니다.
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Security.Principal;
using System.Diagnostics;
namespace WindowsApplication1
{
static class Program
{
/// <summary>
/// 해당 응용 프로그램의 주 진입점입니다.
/// </summary>
[STAThread]
static void Main()
{
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);
}
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
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#]Winform Layout 깨지는 경우 해결 방법 (0) | 2016.10.24 |
---|---|
[C#]화면 깜빡임 현상 제거 예제 (0) | 2016.10.24 |
[C#]파일 압축/해제하기 예제 (0) | 2016.09.02 |
[C#]소켓통신 서버 연결 시 Timeout 예제 (0) | 2016.08.05 |
[C#]DataGridView 항상 마지막 행 보여주기 예제 (0) | 2016.07.25 |