簡體   English   中英

C# 如何在運行時獲得管理員權限

[英]C# How to get admin privileges AT RUNTIME

是否有人知道如何獲得管理員權限在運行時 請不要這樣建議:

<requestedPrivileges>
        <requestedExecutionLevel
          level="requireAdministrator"
          uiAccess="false"/>
</requestedPrivileges>

希望有人知道如何做到這一點。

我的意思是,例如,考慮這種情況:我有一個應用程序在沒有管理員權限的情況下運行,通常不會對您的計算機進行任何更改。 但是,如果您單擊某個按鈕,該應用程序將要求管理員權限,然后執行某些操作,這是必需的。

您無法更改當前正在運行的進程的權限級別。 您可以啟動一個新進程,要求提升權限。 Process.Start() 支持標志“runas”。

        using (Process configTool = new Process())
        {
            configTool.StartInfo.FileName = "foo.exe"
            configTool.StartInfo.Arguments = "--bar";
            configTool.StartInfo.Verb = "runas";
            configTool.Start();
            configTool.WaitForExit();
        }

請參閱以編程方式提升進程權限?

您可以將應用程序的功能分離到第二個可執行文件中,或者使用“runas”以提升的權限重新啟動您的應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM