ホームページ > バックエンド開発 > C++ > C#で特権を高めてプログラムでプロセスを実行するにはどうすればよいですか?

C#で特権を高めてプログラムでプロセスを実行するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-31 10:11:09
オリジナル
345 人が閲覧しました

How Can I Programmatically Run Processes with Elevated Privileges in C#?

C#

のプログラム的にプロセス特権を高めます

多くのアプリケーションでは、InstallUtil.exeを使用してサービスをインストールするなど、特定のタスクを実行するために高度な特権が必要です。 ただし、標準Process.Startメソッドは、アプリケーションのデフォルト許可で実行されます。 この記事では、C#。

次のコードスニペットを検討してください:

ProcessStartInfo startInfo = new ProcessStartInfo(m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start(startInfo);
ログイン後にコピー
このコードは、標準のユーザー権限を使用してプロセスを起動します。特権を向上させるには、

startInfoを変更します

startInfo.UseShellExecute = true;
startInfo.Verb = "runas";
ログイン後にコピー

を設定してUseShellExecuteおよびtruetoVerbから"runas"に、「管理者として実行」を右クリックして選択するのと同様に、アクセス許可を使用してプロセスを起動するように指示します。 このメソッドは、ユーザーアカウントコントロール(UAC)プロンプトをトリガーし、ユーザー確認が必要です。 UACプロンプトが望ましくないシナリオの場合、アプリケーションマニフェストを埋め込むことをお勧めします。 マニフェストで「獲得可能な」実行レベルを要求すると、アプリケーションの起動時にUACが促され、その後のすべての子供プロセスにさらに中断することなく、高度な特権が付与されます。 これにより、よりシームレスなユーザーエクスペリエンスが提供されます

以上がC#で特権を高めてプログラムでプロセスを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート