UseShellExecuteをTrueに設定する必要がある場合
シェルにおける外部プログラムの実行や、コマンドラインを利用した操作が必要な場合に、UseShellExecuteをTrueに設定すると、コード内で直接実行するのではなく、オペレーティングシステムのシェルを介してコマンドを実行できます。
UseShellExecute=Trueのときは、次の操作が可能
- ファイルを開く:Process.Startメソッドを使用してファイルを開くと、システムはファイルとの関連付けられたプログラムに基づいてファイルをオープンします。たとえば:テキストファイルをオープンすると、システムのデフォルトのテキストエディタが使用されます。
Process.Start("notepad.exe", "text.txt");
- ネイティブに日本語で言い換えると、次のようになります。コマンドを実行する:コマンドラインコマンドを実行するには、Process.Startメソッドを使用できます。たとえば、コマンドラインでipconfigコマンドを実行します。
Process.Start("cmd.exe", "/c ipconfig");
- スクリプトを実行する:Process.Start メソッドを使用してスクリプト ファイルを実行できます。たとえば、Python スクリプトを実行する場合。
Process.Start("python.exe", "script.py");
UseShellExecute=True の場合、OS のシェルに依存してコマンドを実行するため、ユーザ権限や OS のセキュリティポリシーの影響を受ける点に注意