打開程序屬性,查看app.manifest文件,其內容一般如下:
<?xmlversion="1.0"encoding="utf-8"?>
<asmv1:assemblymanifestVersion="1.0"xmlns="urn:schemas-microsoft-com:asm.v1"xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentityversion="1.0.0.0"name="MyApplication.app"/>
<trustInfoxmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivilegesxmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC清單選項
如果希望更改 Windows用戶帳戶控制級別,請用以下節點之一替換
requestedExecutionLevel節點。
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
如果您希望利用文件和註冊表虛擬化提供
向後兼容性,請刪除 requestedExecutionLevel節點。
-->
<requestedExecutionLevel level="requireAdministrator"uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>
Manifest文件中最重要的部分是:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
這個部分定義了當前應用程序的運行級別,其中共有三中基本如下:
asInvoker:應用程序將使用與啓動它的進程相同的權限運行。可通過選擇“以管理員身份運行”將應用程序提升爲更高權限。
highestAvailable:應用程序將使用可能的最高權限級別運行。如果啓動該應用程序的用戶爲管理員組的一個成員,則此選項與 requireAdministrator 相同。如果可用的最高權限級別高於打開進程的級別,則系統將提示提供憑據。
requireAdministrator:應用程序將使用管理員權限運行。啓動該應用程序的用戶必須是管理員組的一個成員。如果打開進程未使用管理權限運行,則系統將提示提供憑據。
uiAccess的作用是如果您希望應用程序繞過用戶界面保護級別並將輸入引導到桌面上的更高權限窗口(如屏幕鍵盤),則爲 true;否則爲 false。默認爲 false。僅針對用戶界面輔助功能應用程序設置爲 true。