一文教你學會WinForm實現(xiàn)管理員權限運行的三種方式
2021-09-14 18:07
dotNet工控上位機
關注
前言
相信大家都遇到過這種情況,我們的軟件運行時,如果涉及到文件或者數(shù)據(jù)庫操作的時候,可能會提示權限不足。一種比較簡單的辦法,就是右擊以管理員權限運行,但是每次這么操作,又會比較麻煩,有沒有什么更好的辦法呢?今天跟大家分享一下WinForm程序以管理器權限運行的幾種方法。
采用Process.Start方法
思路很簡單,就是在Program.cs入口處判斷當前是不是管理員權限,如果是,則不做其他處理,如果不是,改成管理員權限。
修改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;
//設置啟動動作,確保以管理員身份運行
startInfo.Verb = "runas";
try
{
Process.Start(startInfo);
}
catch
{
return;
}
//退出
Application.Exit();
}
}
直接修改exe屬性
右擊exe程序文件,在彈出的屬性對話框中,兼容性選項中,勾選“以管理員身份運行此程序”即可。

添加應用程序清單文件
這種方法也是我常用的一種方式。
點擊項目,右擊添加,現(xiàn)有項,選擇應用程序清單列表。

添加完成后,打開app.manifest文件,將:
修改為:
聲明:
本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯(lián)系舉報。
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
11月7日立即參評>> 【評選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評選
-
11月20日立即報名>> 【免費下載】RISC-V芯片發(fā)展現(xiàn)狀與測試挑戰(zhàn)-白皮書
-
即日-11.25立即下載>>> 費斯托白皮書《柔性:汽車生產(chǎn)未來的關鍵》
-
11月27日立即報名>> 【工程師系列】汽車電子技術在線大會
-
11月28日立即下載>> 【白皮書】精準洞察 無線掌控——283FC智能自檢萬用表
-
12月18日立即報名>> 【線下會議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
- 1 特斯拉工人被故障機器人打成重傷,索賠3.6億
- 2 海康威視數(shù)智系統(tǒng)“上崗”,重慶垃圾中轉(zhuǎn)站煥新
- 3 AI 時代,阿里云想當“安卓” ,那誰是“蘋果”?
- 4 拐點已至!匯川領跑工控、埃斯頓份額第一、新時達海爾賦能扭虧為盈
- 5 L3自動駕駛延期,逼出車企技術自我淘汰
- 6 隱退4年后,張一鳴久違現(xiàn)身!互聯(lián)網(wǎng)大佬正集體殺回
- 7 機器人9月大事件|3家國產(chǎn)機器人沖刺IPO,行業(yè)交付與融資再創(chuàng)新高!
- 8 7倍機器人大牛股:高管股東套現(xiàn)VS機構兇猛抱團,該信誰?
- 9 八部門聯(lián)手放行L3自動駕駛!巨頭開始拼搶萬億市場?
- 10 OpenAI發(fā)布的AI瀏覽器,市場為何反應強烈?
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構工程師 廣東省/深圳市


分享













