• ベストアンサー

プログラムから別のアプリケーションを起動する

■C言語とWIN32APIでプログラムしています。 ■自作したアプリケーションを実行形式(*.exe)で多数をCD-ROMに保存しました。 ■さらに別にインデックス画面をC言語とWIN32APIで作成して、その画面のボタンから保存したアプリケーションを開こうと思います。 ■Web画面のボタンのような事を考えています。 「質問」 ・プログラムから別のアプリケーションを起動する方法はどうするのですか。 ・ご教示お願いします。 ・また関連・参考になるHPもお聞かせください。

質問者が選んだベストアンサー

  • ベストアンサー
  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.2

DOS窓開いてもよくて何も考えず楽に出来るのが system("プログラム名"); DOS窓開きたくないとかそのプログラムの完了待ちしたい とか言うのであれば CreateProcess関数とか ShellExecuteEx関数とWaitForSingleObject関数の組み合わせ この関数にあたってちょっと前にここで質問してるので参考になれば http://oshiete1.goo.ne.jp/qa5540488.html

smiyaf
質問者

お礼

ご教示ありがとうございます。 早速、system("プログラム名");を試してみました。 ご指摘の通りその都度、DOS画面が開きます。 CD-ROMを配布したいと思っていますので、いまいちと思い >CreateProcess関数とか >ShellExecuteEx関数とWaitForSingleObject関数の組み合わせ を勉強しています。 分らない事が出来ましたら質問させて下さい。

smiyaf
質問者

補足

■CreateProcess関数とWaitForSingleObject関数の 組み合わせで、実行フアイル(.exe)は表示できました。 ありがとうございました。 ■この関数は、開けるのは実行フアイル(.exe)だけなのでしょうか? ・HTMフアイルを開こうとしても出来ませんでした。 ・system("プログラム名.htm");では開けました。 ■質問-1 ・.htmフアイルが開ける方法は有りますか。

その他の回答 (2)

  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.3

>・HTMフアイルを開こうとしても出来ませんでした。 時間取れないのできちんと見たわけではありませんが 動かないのであればCreateProcess関数は関連ずけの面倒まで 見ないってことじゃないですかね 簡単にShellExecuteで動かしたところ動いてるみたいです ちょっときつい言い方かもしれませんが せっかく書いているので他の関数やパラメータなども 設定して動かした上で質問してください (聞きゃいいってもんじゃありません) やった上での質問なら何をどうやって出来なかったのかを明記してください 回答側も手間が増えるだけですので

smiyaf
質問者

お礼

失礼しました。 ・CreateProcess関数では、拡張子[.exe]は開きました、拡張子[.htm]は開きませんでした。 ・「実行可能なファイル」・・・この意味を理解していませんでした。 ■ShellExecute関数は[.exe]も[.htm]も開きました。 ■ShellExecuteEx関数は未確認です。 ■WaitForSingleObject関数,GetExitCodePrecess関数と上記の関数の組み合わせを勉強中です。

  • koko_u_u
  • ベストアンサー率18% (216/1139)
回答No.1

まんま HTML ファイルで作ればいいだけのような気がしますけど。

smiyaf
質問者

お礼

回答ありがとうございます。 ・御指摘の通りHTML ファイルで作成すればOKす、 インデックス画面をオートランにして、そこから選択すればよく、すでに経験済みですが、今回はあえてC言語とWIN32APIを狙っています。 ・CD-ROM内の全てのソースが読めない事を狙っています。

関連するQ&A