1. はじめに
- C#で別ソリューションのEXEを起動したい
- 起動する時にパラメータ渡しで必要な情報を連携したい
2. 開発環境
- C#
- .NET 6
- Visual Studio 2022
- Windows 11
3. ソースコード
// 外部EXEを起動する
private void Button1_Click(object sender, EventArgs e)
{
// 外部EXEを起動する
var info = new ProcessStartInfo("notepad")
{
// コマンドラインパラメータを指定する
ArgumentList =
{
@"C:\\tmuninst.ini"
}
};
Process? p = Process.Start(info);
if (p != null)
{
// 別EXEが終了するまで待つ場合
p.WaitForExit();
MessageBox.Show("メモ帳が終了しました" + "\r\n" +
"StartTime:" + "\r\n" + p.StartTime + "\r\n" +
"DateTime" + p.ExitTime + "\r\n" +
"TotalProcessorTime:" + p.TotalProcessorTime
);
// 別EXEを強制終了する場合
// System.Threading.Thread.Sleep(5000);
// p.Kill();
// 別EXEからプログラムの終了コードを受け取る場合
int code = p.ExitCode;
}
}
4. 参考文献