外部のアプリケーションを起動するには
解説
外部のアプリケーションを起動する方法をまとめます。
外部のアプリケーションを起動したいケースとしては、
- 外部のアプリケーションの実行ファイル名を指定してアプリケーションを起動し、そのアプリケーションの終了には興味がないケース(そのアプリケーションの終了を待たないケース)
- 外部のアプリケーションの実行ファイル名を指定してアプリケーションを起動し、そのアプリケーションの終了に興味がある(そのアプリケーションの終了を待ちたいケース)
- アプリケーションではなくデータファイル名を指定して、そのファイルの拡張子に関連付けられているアプリケーションを起動すると共に、データファイルを開きたいケース
があります。
それぞれのケースの実装方法は、
- CreateProcess関数を用いて外部のアプリケーションを起動する。
- CreateProcess関数を用いて外部のアプリケーションを起動し、CreateProcessの戻り値の、プロセスハンドルを、WaitForSingleObjectに渡して、プロセスの終了を監視する。
- ShellExecute関数を用いて外部のアプリケーションでデータファイルを開く。