程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c#程序以管理員身份運行(三種辦法)

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

編輯:C#入門知識

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


三種辦法:

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

\

\

<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+tv6horT6wuu3qKO6PC9wPgo8cD48cHJlIGNsYXNzPQ=="brush:java;">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文件


  改為


然後在"安全性"中再勾去"啟用ClickOnce安全設置"後,重新編譯即可。

\


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved