Windows應用程序運行權限設置


  在Vista以后的windows版本中,有些時候需要提升編譯后生成程序的權限,即希望讓生成的程序以管理員身份運行。雖然在一般情況下,可以使用鼠標右鍵選擇的方式來強行以管理員身份運行,但它並沒有屏蔽普通運行方式,而且普通人通常也不會使用右鍵選擇以管理員身份運行,所以必須在生成程序時就限定程序只能以管理員方式來運行。

       先簡單說一下,在Vista以后的windows版本中,微軟引入了UAC機制,它的目的是防止程序對操作系統本身進行惡意篡改。要讓程序以管理員身份運行,就需要在程序中引入UAC標注,也即讓程序顯示“UAC盾牌”。

  

  VS2008設置應用程序鏈接生成UAC設置:Linker->Manifest File

   

  

  UAC Execution Level可選參數:

        0: asInvoker:應用程序將使用與啟動它的進程相同的權限運行。 可通過選擇“以管理員身份運行”將應用程序提升為更高權限。

        1: highestAvailable:應用程序將使用可能的最高權限級別運行。 如果啟動該應用程序的用戶為管理員組的一個成員,則此選項與 requireAdministrator 相同。 如果可用的最高權限級別高於打開進程的級別,則系統將提示提供憑據。

        2: requireAdministrator:應用程序將使用管理員權限運行。 啟動該應用程序的用戶必須是管理員組的一個成員。 如果打開進程未使用管理權限運行,則系統將提示提供憑據。

           /MANIFESTUAC(將 UAC 信息嵌入到清單中)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM