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

解説

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

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

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

があります。

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

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

サンプルコード

ダウンロード

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

サンプルプロジェクト

コメント
サンプルプロジェクトをVisual Studio 2005用のプロジェクトに変更しました。
Nobuki HIRAMINE : 2006/12/21 14:43:50
大変参考になりました!
41 : 2012/01/13 15:30:52
これをそのまますればいのでしょうか?
ビルドエラーが出ますw
mentaiko : 2021/01/11 08:51:30
このままとか言ってるレベルじゃ無理だよw
名無し : 2022/02/25 11:37:20

コメントを投稿する
名前

コメント



ご意見、ご感想、ご質問、ご要望等は、「コメントを投稿する」もしくは「コンタクト」よりお願いいたします。