外部のアプリケーションを起動するには

解説

外部のアプリケーションを起動する方法をまとめます。

外部のアプリケーションを起動したいケースとしては、

  1. 外部のアプリケーションの実行ファイル名を指定してアプリケーションを起動し、そのアプリケーションの終了には興味がないケース(そのアプリケーションの終了を待たないケース)
  2. 外部のアプリケーションの実行ファイル名を指定してアプリケーションを起動し、そのアプリケーションの終了に興味がある(そのアプリケーションの終了を待ちたいケース)
  3. アプリケーションではなくデータファイル名を指定して、そのファイルの拡張子に関連付けられているアプリケーションを起動すると共に、データファイルを開きたいケース

があります。

それぞれのケースの実装方法は、

  1. CreateProcess関数を用いて外部のアプリケーションを起動する。
  2. CreateProcess関数を用いて外部のアプリケーションを起動し、CreateProcessの戻り値の、プロセスハンドルを、WaitForSingleObjectに渡して、プロセスの終了を監視する。
  3. ShellExecute関数を用いて外部のアプリケーションでデータファイルを開く。

サンプルコード

ダウンロード

ヘッダーファイルとソースファイル

サンプルプロジェクト