C#のUseShellExecuteプロパティを設定して起動します。
C#では、新しいプロセスを起動し、UseShellExecuteプロパティを設定するためにProcess.Startメソッドを使用することができます。
UseShellExecute属性は、プロセスを起動する際にオペレーティングシステムの外部シェルプログラムを使用するかどうかを示します。デフォルトでは、この属性の値はtrueで、外部シェルプログラムを使用してプロセスを起動することを意味します。falseに設定すると、外部シェルプログラムを使用せずに、直接実行可能ファイルを実行することを意味します。
以下は、UseShellExecuteプロパティを設定する方法を示すサンプルコードです。
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
// 创建一个新的进程实例
Process process = new Process();
// 设置要启动的可执行文件路径
process.StartInfo.FileName = "calc.exe";
// 设置UseShellExecute属性为false
process.StartInfo.UseShellExecute = false;
// 启动进程
process.Start();
// 等待进程退出
process.WaitForExit();
}
}
上記の例では、新しいプロセスインスタンスを作成し、「calc.exe」という実行ファイルのパスを指定しました(電卓アプリケーション)。次に、UseShellExecuteプロパティをfalseに設定して、プロセスを起動する際に外部シェルを使用しないことを示しました。最後に、Startメソッドを呼び出してプロセスを起動し、WaitForExitメソッドを呼び出してプロセスが終了するのを待ちます。
可実行ファイルを管理者権限で実行する必要がある場合は、UseShellExecuteプロパティをtrueに設定し、プロセスをシェルで起動し、Verbプロパティを使用して実行アクション(”runas”など)を設定して権限を昇格させる必要があります。