c#程式以管理員身份運行(三種辦法)

來源:互聯網
上載者:User

標籤:vs2010

三種辦法:

一、設定程式本身的屬性:勾選“以管理員身份運行此程式”,必要時設定“更改所有使用者佈建-以管理員身份運行此程式”,當然這種辦法是被動的,也不是最實際的辦法;



二、代碼法:

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";                try                {                    //如果不是管理員,則啟動UAC                    System.Diagnostics.Process.Start(startInfo);                    //退出                    System.Windows.Forms.Application.Exit();                }                catch                {                 }            }        }

三、配置法:

  vs2010中,項目右鍵屬性--安全性---啟用ClickOnce安全設定
 
  然後程式目錄下會產生一個app.manifest檔案
 
  <requestedExecutionLevel level="asInvoker" uiAccess="false" />
  改為
  <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
   
  然後在"安全性"中再勾去"啟用ClickOnce安全設定"後,重新編譯即可。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.