日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

c#通过app.manifest使程序 右键 以管理员身份运行

發布時間:2023/12/10 C# 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c#通过app.manifest使程序 右键 以管理员身份运行 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

時間:2013-06-27 22:47來源:網絡收集+本站整理?作者:jtydl?點擊:?1175 次 微軟在Windows Vista開始引入了UAC(用戶帳戶控制)新技術(點擊這兒了解什么是UAC)。當程序執行時需要權限的話,UAC會彈出警告消息:讓用戶確認是否同意允許這個程序改變你的計算機配置,windows需要得到你的許可才可以讓程序繼續執行下去。 通常我們使用c

微軟在Windows Vista開始引入了UAC(用戶帳戶控制)新技術(點擊這兒了解什么是UAC)。當程序執行時需要權限的話,UAC會彈出警告消息:讓用戶確認是否同意允許這個程序改變你的計算機配置,windows需要得到你的許可才可以讓程序繼續執行下去。

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

方法如下:

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

方法1:

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


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


asInvoker : 如果選這個,應用程序就是以當前的權限運行。

highestAvailable: 這個是以當前用戶可以獲得的最高權限運行。

requireAdministrator: 這個是僅以系統管理員權限運行。

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

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

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

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

如果操作步驟正確,按下F5進行調試,會彈出如下的提示框,VS具有提升的權限。
?


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

方法2:

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


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


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

?

?

轉自:http://www.wodernet.com/4/405/20130609/686.html

總結

以上是生活随笔為你收集整理的c#通过app.manifest使程序 右键 以管理员身份运行的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。