C# 기본 관리자 실행 프로그램 구현 코드

2007 단어 C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace yyy
{
    static class Program
    {
        /// <summary>
        ///          。
        /// </summary>
        [STAThread]
        static void Main(string[] Args)
        {
            /** 
             *            ,         
             *        ,           ,             
            */
            //       Windows     
            System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();
            //  Windows     
            Application.EnableVisualStyles();

            System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity);
            //               
            if (principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator))
            {
                //      ,      

                Application.EnableVisualStyles();
                Application.Run(new Form1());
            }
            else
            {
                //       
                System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
                //       
                startInfo.FileName = System.Windows.Forms.Application.ExecutablePath;
                //       
                startInfo.Arguments = String.Join(" ", Args);
                //      ,           
                startInfo.Verb = "runas";
                //       ,   UAC 
                System.Diagnostics.Process.Start(startInfo);
                //   
                System.Windows.Forms.Application.Exit();
            }

        }
    }
}

좋은 웹페이지 즐겨찾기