トップページ ソースコードライブラリ Borland C++ Compiler 5.5
外部プログラムの実行
.NET FrameworkのProcessクラスを利用して、別のEXEや、拡張子に関連付けられたアプリケーションを開き、終了まで待機する方法を説明しています。
サンプルコード
using System.Diagnostics;


// mspaint.exeを起動
Process.Start("mspaint.exe");


// mspaint.exeでc:\sample.bmpを開く(パラメータに設定)
Process.Start("mspaint.exe", "c:\\sample.bmp");


// 拡張子.bmpに関連づけられたプログラムでc:\sample.bmpを開く
Process.Start("c:\\sample.bmp");


// プロセスの終了を待つ方法 - 1 -
// プロセス終了時にExec_Exitedが呼ばれる
Process Exec1 = Process.Start("C:\\test.bmp");
Exec1.EnableRaisingEvents = true;
Exec1.Exited +=new EventHandler(Exec_Exited);


// プロセスの終了を待つ方法 - 2 -
// プロセス終了までWaitForExit()が返ってこない
Process Exec2 = Process.Start("C:\\test.bmp");
Exec2.WaitForExit();

概要

3種類の使用方法をあげておきます。

この方法以外にSystem.Diagnostics.Processオブジェクトをnewで作成し、細かな設定を行うことも可能です。

次にプロセスの終了を待つ方法です。前者はイベントで検知ます。後者はプロセスが終わるまで処理を止めて待ちます(この間ウィンドウはロックされてしまいます)。

ナビゲーション
プログラミングは道連れ
ソースコードライブラリ
C#
ファイル情報の取得
ListViewの選択されたアイテムを削除する
現在のWindowsアカウントを表示する
DataTableを使ったSQLServerからのレコード取得
テキストファイルを書き込む
文字列の分割・連結を行うSplitとJoinを使ってみる
実行中プロセスのファイルパスを取得する
ウィンドウを閉じる際に確認ダイアログを表示する
TreeViewにXMLの要素を表示する
ジェネリックのListを使う
トップページ ソースコードライブラリ Borland C++ Compiler 5.5