一文教你學會WinForm實現(xiàn)管理員權(quán)限運行的三種方式
2021-09-14 18:07
dotNet工控上位機
關(guān)注
前言
相信大家都遇到過這種情況,我們的軟件運行時,如果涉及到文件或者數(shù)據(jù)庫操作的時候,可能會提示權(quán)限不足。一種比較簡單的辦法,就是右擊以管理員權(quán)限運行,但是每次這么操作,又會比較麻煩,有沒有什么更好的辦法呢?今天跟大家分享一下WinForm程序以管理器權(quán)限運行的幾種方法。
采用Process.Start方法
思路很簡單,就是在Program.cs入口處判斷當前是不是管理員權(quán)限,如果是,則不做其他處理,如果不是,改成管理員權(quán)限。
修改Main方法如下所示:
///
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//獲得當前登錄的Windows用戶標示
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
//判斷當前登錄用戶是否為管理員
if (principal.IsInRole(WindowsBuiltInRole.Administrator))
{
//如果是管理員,則直接運行
Application.Run(new FrmMain());
}
else
{
//創(chuàng)建啟動對象
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.WorkingDirectory = Environment.CurrentDirectory;
startInfo.FileName = Application.ExecutablePath;
//設(shè)置啟動動作,確保以管理員身份運行
startInfo.Verb = "runas";
try
{
Process.Start(startInfo);
}
catch
{
return;
}
//退出
Application.Exit();
}
}
直接修改exe屬性
右擊exe程序文件,在彈出的屬性對話框中,兼容性選項中,勾選“以管理員身份運行此程序”即可。
添加應(yīng)用程序清單文件
這種方法也是我常用的一種方式。
點擊項目,右擊添加,現(xiàn)有項,選擇應(yīng)用程序清單列表。
添加完成后,打開app.manifest文件,將:
修改為:

聲明:
本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 AI 眼鏡讓百萬 APP「集體失業(yè)」?
- 2 大廠紛紛入局,百度、阿里、字節(jié)搶奪Agent話語權(quán)
- 3 深度報告|中國AI產(chǎn)業(yè)正在崛起成全球力量,市場潛力和關(guān)鍵挑戰(zhàn)有哪些?
- 4 上海跑出80億超級獨角獸:獲上市公司戰(zhàn)投,干人形機器人
- 5 國家數(shù)據(jù)局局長劉烈宏調(diào)研格創(chuàng)東智
- 6 一文看懂視覺語言動作模型(VLA)及其應(yīng)用
- 7 下一代入口之戰(zhàn):大廠為何紛紛押注智能體?
- 8 百億AI芯片訂單,瘋狂傾銷中東?
- 9 Robotaxi新消息密集釋放,量產(chǎn)元年誰在領(lǐng)跑?
- 10 格斗大賽出圈!人形機器人致命短板曝光:頭腦過于簡單