一文教你學(xué)會WinForm實(shí)現(xiàn)管理員權(quán)限運(yùn)行的三種方式
前言
相信大家都遇到過這種情況,我們的軟件運(yùn)行時,如果涉及到文件或者數(shù)據(jù)庫操作的時候,可能會提示權(quán)限不足。一種比較簡單的辦法,就是右擊以管理員權(quán)限運(yùn)行,但是每次這么操作,又會比較麻煩,有沒有什么更好的辦法呢?今天跟大家分享一下WinForm程序以管理器權(quán)限運(yùn)行的幾種方法。
采用Process.Start方法
思路很簡單,就是在Program.cs入口處判斷當(dāng)前是不是管理員權(quán)限,如果是,則不做其他處理,如果不是,改成管理員權(quán)限。
修改Main方法如下所示:
///
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//獲得當(dāng)前登錄的Windows用戶標(biāo)示
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
//判斷當(dāng)前登錄用戶是否為管理員
if (principal.IsInRole(WindowsBuiltInRole.Administrator))
{
//如果是管理員,則直接運(yùn)行
Application.Run(new FrmMain());
}
else
{
//創(chuàng)建啟動對象
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.WorkingDirectory = Environment.CurrentDirectory;
startInfo.FileName = Application.ExecutablePath;
//設(shè)置啟動動作,確保以管理員身份運(yùn)行
startInfo.Verb = "runas";
try
{
Process.Start(startInfo);
}
catch
{
return;
}
//退出
Application.Exit();
}
}
直接修改exe屬性
右擊exe程序文件,在彈出的屬性對話框中,兼容性選項(xiàng)中,勾選“以管理員身份運(yùn)行此程序”即可。
添加應(yīng)用程序清單文件
這種方法也是我常用的一種方式。
點(diǎn)擊項(xiàng)目,右擊添加,現(xiàn)有項(xiàng),選擇應(yīng)用程序清單列表。
添加完成后,打開app.manifest文件,將:
修改為:
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
即日-11.13立即報名>>> 【在線會議】多物理場仿真助跑新能源汽車
-
11月28日立即報名>>> 2024工程師系列—工業(yè)電子技術(shù)在線會議
-
12月19日立即報名>> 【線下會議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
-
即日-12.26火熱報名中>> OFweek2024中國智造CIO在線峰會
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書》
-
精彩回顧立即查看>> 【限時免費(fèi)下載】TE暖通空調(diào)系統(tǒng)高效可靠的組件解決方案
推薦專題
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市