国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

c#通過app.manifest使程序以管理員身份運行

2019-10-29 21:48:43
字體:
供稿:網(wǎng)友
通常我們使用c#編寫的程序不會彈出這個提示,也就無法以管理員身分運行。微軟的操作系統(tǒng)使用微軟的產(chǎn)品方法當(dāng)然是有的,通過app.manifest配置可以使程序打開的時候,彈出UAC提示需要得到允許才可以繼續(xù),這樣就獲得了管理員的權(quán)限來執(zhí)行程序
 
 

微軟在Windows Vista開始引入了UAC(用戶帳戶控制)新技術(shù)。當(dāng)程序執(zhí)行時需要權(quán)限的話,UAC會彈出警告消息:讓用戶確認(rèn)是否同意允許這個程序改變你的計算機配置,windows需要得到你的許可才可以讓程序繼續(xù)執(zhí)行下去。

通常我們使用c#編寫的程序不會彈出這個提示,也就無法以管理員身分運行。微軟的操作系統(tǒng)使用微軟的產(chǎn)品方法當(dāng)然是有的,通過app.manifest配置可以使程序打開的時候,彈出UAC提示需要得到允許才可以繼續(xù),這樣就獲得了管理員的權(quán)限來執(zhí)行程序。

方法如下:

打開vs2005、vs2008等工程,在【解決方案資源管理器】里查看是否有app.manifest這個文件,如果沒有的話,通過以下方法創(chuàng)建:

方法1:

1、在【解決方案資源管理器】右鍵工程名稱選擇屬性;
2、在彈出的該對話框中,選擇【安全性】選項卡。
3、勾選【啟用ClickOnce安全設(shè)置】,并選中【這是完全可信的應(yīng)用程序】。
4、保存工程,這時候app.manifest就自動創(chuàng)建了。

c#通過app.manifest使程序以管理員身份運行

c#通過app.manifest使程序以管理員身份運行


打開app.manifest把默認(rèn)的配置修改一下,通過代碼的注釋,可以知道需要修改的節(jié)點是【requestedExecutionLevel】


c#通過app.manifest使程序以管理員身份運行


asInvoker : 如果選這個,應(yīng)用程序就是以當(dāng)前的權(quán)限運行。

highestAvailable: 這個是以當(dāng)前用戶可以獲得的最高權(quán)限運行。

requireAdministrator: 這個是僅以系統(tǒng)管理員權(quán)限運行。

找到<requestedExecutionLevel  level="asInvoker" uiAccess="false" />
把其改為<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

這時候修改完成,按下F5進行調(diào)試,通常會收到如下的錯誤提示:【ClickOnce 不支持請求執(zhí)行級別“requireAdministrator”】。

事情好像發(fā)生了相互矛盾,上面開啟【ClickOnce】便自動創(chuàng)建了app.manifest,現(xiàn)在修改了app.manifest卻提示:ClickOnce 不支持請求執(zhí)行級別“requireAdministrator”。

解決方法是:只要把【啟用ClickOnce安全設(shè)置】不勾選就可以了。

如果操作步驟正確,按下F5進行調(diào)試,會彈出如下的提示框,VS具有提升的權(quán)限。
 

c#通過app.manifest使程序以管理員身份運行


這樣我們編寫的應(yīng)用程序在運行后,就會首先彈出這樣一個提示框 , 點【Yes】后,程序才可以繼續(xù)運行,并且獲得系統(tǒng)管理員的權(quán)限。

方法2:

為工程項目添加一個類,應(yīng)用程序清單文件(app.manifest)。


c#通過app.manifest使程序以管理員身份運行


然后可以看到app.manifest的位置不在Properties屬性里了,變成在引用里了,其節(jié)點內(nèi)容也少了一些。

c#通過app.manifest使程序以管理員身份運行


剩下的方法和上面相同。這樣跳過了【啟用ClickOnce安全設(shè)置】這步,直接執(zhí)行,不會出錯了。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 伊宁县| 南城县| 柳林县| 奉贤区| 阿巴嘎旗| 吴江市| 临江市| 华坪县| 平乐县| 大化| 瑞昌市| 黄陵县| 巴林右旗| 巴林左旗| 伊吾县| 秭归县| 临高县| 丰都县| 博白县| 封开县| 镇原县| 湘潭县| 临高县| 永德县| 浮山县| 重庆市| 浦东新区| 黔东| 昌乐县| 米林县| 雅安市| 平舆县| 乐业县| 巴彦县| 萍乡市| 霍邱县| 富蕴县| 金川县| 金山区| 修武县| 乌鲁木齐市|