'2019/07'에 해당되는 글 1건

  1. 2019.07.16 관리자모드로 프로그램 실행하기
using System;
using System.Diagnostics;
using System.Security.Principal;
using System.Windows.Forms;

namespace HelloWorld
{
    static class Program
    {
        /// <summary>
        /// 해당 응용 프로그램의 주 진입점입니다.
        /// </summary>
        [STAThread]
        static void Main()
        {
            if (IsAdministrator() == false)
            {
                try
                {
                    ProcessStartInfo processInfo = new ProcessStartInfo();
                    processInfo.UseShellExecute = true;
                    processInfo.FileName = Application.ExecutablePath;
                    processInfo.WorkingDirectory = Environment.CurrentDirectory;
                    processInfo.Verb = "runas";
                    Process.Start(processInfo);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

                return;
            }

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MonitoringForm());
        }

        /// <summary>
        /// 관리자모드 실행 확인
        /// </summary>
        /// <returns></returns>
        public static bool IsAdministrator()
        {
            WindowsIdentity identity = WindowsIdentity.GetCurrent();

            if (null != identity)
            {
                WindowsPrincipal principal = new WindowsPrincipal(identity);
                return principal.IsInRole(WindowsBuiltInRole.Administrator);
            }

            return false;
        }
    }
}
Posted by 홍상길 홍상길

댓글을 달아 주세요

이전버튼 1 이전버튼

블로그 이미지
홍상길

공지사항

Yesterday17
Today0
Total294,940

달력

 « |  » 2019.7
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

최근에 달린 댓글

글 보관함