C#
のプログラム的にプロセス特権を高めます多くのアプリケーションでは、InstallUtil.exe
を使用してサービスをインストールするなど、特定のタスクを実行するために高度な特権が必要です。 ただし、標準Process.Start
メソッドは、アプリケーションのデフォルト許可で実行されます。 この記事では、C#。
<code class="language-csharp">ProcessStartInfo startInfo = new ProcessStartInfo(m_strInstallUtil, strExePath); System.Diagnostics.Process.Start(startInfo);</code>このコードは、標準のユーザー権限を使用してプロセスを起動します。特権を向上させるには、
:startInfo
を変更します
<code class="language-csharp">startInfo.UseShellExecute = true; startInfo.Verb = "runas";</code>
を設定してUseShellExecute
およびtrue
toVerb
から"runas"
に、「管理者として実行」を右クリックして選択するのと同様に、アクセス許可を使用してプロセスを起動するように指示します。 このメソッドは、ユーザーアカウントコントロール(UAC)プロンプトをトリガーし、ユーザー確認が必要です。
UACプロンプトが望ましくないシナリオの場合、アプリケーションマニフェストを埋め込むことをお勧めします。 マニフェストで「獲得可能な」実行レベルを要求すると、アプリケーションの起動時にUACが促され、その後のすべての子供プロセスにさらに中断することなく、高度な特権が付与されます。 これにより、よりシームレスなユーザーエクスペリエンスが提供されます
以上がC#で特権を高めてプログラムでプロセスを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。