[C#] 以系統管理員身份執行

在許多需要變便系統參數的項目執行時,常常需要使用系統管理員的身份執行
否者你就算執行了,變便了那些項目常常不是沒有作用就是丟回一個例外

雖然請使用者右鍵 - 以系統管理員身份執行 的確能解決這問題,但總不能每次都請使用者這樣作,那如何讓程式要求一定需以系統管理員身份執行呢?
解決方式可以參考下面的方法,以 C# 開發為例

Run an Application in Vista with Administrator
1.請在你的應用程式中,加入一個【應用程式資訊清單檔案 / app.manifest】。
2.修改新加入的app.manifest內容未下面這樣即可。
<?xml version="1.0" encoding="utf-8" ?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" >
  <assemblyIdentity version="1.0.0.0"  processorArchitecture="X86"  name="someExecName"  type="win32" />
  <description>Program description</description>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>      
      <requestedPrivileges>        
        <requestedExecutionLevel level="requireAdministrator" />      
      </requestedPrivileges>    
    </security>  
  </trustInfo>
</assembly>

Reference:
KB : 讓你的應用程式以系統管理員的身分執行

留言

這個網誌中的熱門文章

DB 資料庫呈現復原中

Outlook 刪除大量重覆信件

[VB.Net] If vs IIf ,兩者的差異