程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c#經由過程app.manifest使法式以治理員身份運轉

c#經由過程app.manifest使法式以治理員身份運轉

編輯:C#入門知識

c#經由過程app.manifest使法式以治理員身份運轉。本站提示廣大學習愛好者:(c#經由過程app.manifest使法式以治理員身份運轉)文章只能為提供參考,不一定能成為您想要的結果。以下是c#經由過程app.manifest使法式以治理員身份運轉正文


微軟在Windows Vista開端引入了UAC(用戶帳戶掌握)新技巧(點擊這兒懂得甚麼是UAC)。當法式履行時須要權限的話,UAC會彈出正告新聞:讓用戶確認能否贊成許可這個法式轉變你的盤算機設置裝備擺設,windows須要獲得你的允許才可讓法式持續履行下去。

平日我們應用c#編寫的法式不會彈出這個提醒,也就沒法以治理員成分運轉。微軟的操作體系應用微軟的產物辦法固然是有的,經由過程app.manifest設置裝備擺設可使法式翻開的時刻,彈出UAC提醒須要獲得許可才可以持續,如許就取得了治理員的權限來履行法式。

辦法以下:

翻開vs2005、vs2008等工程,在【處理計劃資本治理器】裡檢查能否有app.manifest這個文件,假如沒有的話,經由過程以下辦法創立:

辦法1:

1、在【處理計劃資本治理器】右鍵工程稱號選擇屬性;
2、在彈出的該對話框中,選擇【平安性】選項卡。
3、勾選【啟用ClickOnce平安設置】,並選中【這是完整可托的運用法式】。
4、保留工程,這時候候app.manifest就主動創立了。

VS2008 工程屬性安全性

c# app.manifest


翻開app.manifest把默許的設置裝備擺設修正一下,經由過程代碼的正文,可以曉得須要修正的節點是【requestedExecutionLevel】


app.manifest 設置


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具有晉升的權限。
 

vs2008 具有提升的權限


如許我們編寫的運用法式在運轉後,就會起首彈出如許一個提醒框 , 點【Yes】後,法式才可以持續運轉,而且取得體系治理員的權限。

辦法2:

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


c# 添加應用程序清單文件


然後可以看到app.manifest的地位不在Properties屬性裡了,釀成在援用裡了,其節點內容也少了一些。

c# 引用 app.manifest


剩下的辦法和下面雷同。如許跳過了【啟用ClickOnce平安設置】這步,直接履行,不會失足了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved