C# 以管理員方式運行程序


讓你的程序以管理員方式運行

在Program.cs文件中添加如下代碼

      /// <summary>
        /// 應用程序的主入口點。
        /// </summary>
        [STAThread]
        static void Main()
        {
            /** 
             * 當前用戶是管理員的時候,直接啟動應用程序 
             * 如果不是管理員,則使用啟動對象啟動程序,以確保使用管理員身份運行 
             */
            //獲得當前登錄的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 = Application.ExecutablePath;
                //設置啟動參數 
               // startInfo.Arguments = String.Join(" ", Args);
                //設置啟動動作,確保以管理員身份運行 
                startInfo.Verb = "runas";
                //如果不是管理員,則啟動UAC 
                System.Diagnostics.Process.Start(startInfo);
                //退出 
                Application.Exit();
            }
            /*
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());*/
        }

參考鏈接:

http://blog.chinaunix.net/uid-25498312-id-4142959.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM