天天看點

Winform中預設以管理者方式啟動的方法

我們知道,在Windows Vista ,微軟系列作業系統中加入了“UAC”權限控制。這是一個顯著的安全性能的提升。 

在這以後的系統中軟體預設使用普通使用者方式運作,除非軟體聲明要求使用管理者方式運作,或者使用者強制使用管理者方式運作。 

那麼我們在做一些敏感功能的時候,比如結束程序、讀寫記憶體、更改系統檔案、更改系統設定等操作的時候,就需要提供管理者權限,否則無法擷取對象。這時就需要我們手動的,顯式的聲明程式需要管理者權限運作。那麼,我們又如何做到呢? 

這裡引用微軟MSDN的說法:

右鍵你的工程,建立一個mainfest(應用程式清單)檔案,  <!-- UAC 清單選項              如果要更改 Windows 使用者帳戶控制級别,請用以下節點之一替換              requestedExecutionLevel 節點。          <requestedExecutionLevel  level="asInvoker" uiAccess="false" />          <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />          <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />              指定 requestedExecutionLevel 節點将會禁用檔案和系統資料庫虛拟化。              如果要利用檔案和系統資料庫虛拟化實作向後              相容性,則删除 requestedExecutionLevel 節點。          -->  将 <requestedExecutionLevel level="asInvoker" uiAccess="false" />設定為requireAdministrator後,儲存運作。當程式需要管理者權限時,就會提示使用者是否允許。

這個是一種方法,還有另外一個方法,是我經常用的。這個需要寫在Program.cs裡面。

本文轉自 OH51888 51CTO部落格,原文連結:http://blog.51cto.com/rozbo/1298086,如需轉載請自行聯系原作者

上一篇: CSS明明規範

繼續閱讀