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

來源:互聯網
上載者:User

標籤:for   dex   解決方案   參數   提示   def   代碼   form   height   

微軟在Windows Vista開始引入了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安全設定】這步,直接執行,不會出錯了。

除聲明外, 跑步客文章均為原創,轉載請以連結形式標明本文地址
  c#通過app.manifest使程式以管理員身份運行

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23221.html






相關內容ò????éDˉ′????ó???¢μ????????¢?òMessageBoxExC#中split用法執行個體總結總結C#網路編程中對於Cookie的設定要點C#中使用WinRAR實現加密壓縮及解壓縮檔案
C#委託現實樣本分析C#中winform控制textbox輸入只能為數位方法C#參考型別作為方法的參數分析C#的RegexRegex類使用簡明教程

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.