• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アプリケーションが終了するまで待機)

アプリケーションが終了するまで待機できない問題

このQ&Aのポイント
  • ShellExecuteEx関数を使用してhtmlファイルを開く際、アプリケーションが終了するまで待機できない問題に直面しています。
  • txtファイルならばうまく待機できるのですが、htmlファイルではうまくいかないようです。
  • なぜこのような問題が発生しているのか、情報をお持ちの方はいらっしゃいますか?お知恵をお貸しください。

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

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

>ブラウザの種類が違う場合なども考慮し、 htmlに関連付けられているブラウザで起動したいのなら、 FindExecutableでexe名を取ってくればいいだけでしょう。 >しかし何故ShellExecuteExでプロセスIDが >取得できるものと出来ないものがあるのでしょうか。 さっきの参考urlの中に書いてあるとおり、exeが新規に 立ち上がっているかWindowsが内部的にプロセスを 使いまわしているかの違いです。

sha-girl
質問者

お礼

ご回答ありがとうございます。 FindExecutableで取得して lpCommandLineにhtmのパスを渡すことでできました。 IE、OPERAとも問題ありませんでした。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

ここの ANo.#1のような状況でしょう。 http://www.okweb.ne.jp/kotaeru.php3?q=566523

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=566523
sha-girl
質問者

お礼

早速のご回答ありがとうございます。 実際hProcessには0が入っていて、有効な ハンドルにはなっていません。 CreateProcessで起動も考えたのですが ブラウザの種類が違う場合なども考慮し、引数に パスを与えただけでよいのかが気になりました。 しかし何故ShellExecuteExでプロセスIDが 取得できるものと出来ないものがあるのでしょうか。 もうちょっと調べてみたいと思います。

すると、全ての回答が全文表示されます。

関連するQ&A