• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C++で外部の『ファイルを開く』ダイアログ操作)

C++で外部のファイルを開くダイアログ操作

このQ&Aのポイント
  • C++を使って別のアプリケーションの『ファイルを開く』ダイアログを操作する方法について教えてください。
  • 『ファイルを開く』ダイアログで自動でパスを入力し、『開く』をクリックする方法をC++で実現したいです。
  • SendMessage関数を使って『ファイルを開く』ダイアログを開き、パスの入力とクリックまでを自動化したいのですがうまくいきません。

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

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

うまく行かない場合の、hWndOpenに入る返り値なんかはどうなっているのでしょう? 別プログラムが処理する事ですから、メッセージを投げてすぐに「ファイルを開く」ウィンドウが表示されるとは限らないのでは。 ☆のところの処理の前に、 sleepなんかでちょっと待つとか。 一定時間ごとに繰り返し、ある程度の時間が経過した場合に見つからなかったって処理するとか。

その他の回答 (1)

回答No.2

SendMessageでファイルを開くコマンドを送っているようですが、SendMessageはメッセージを送られた側がそのメッセージの処理を終了した後に呼び出し元に戻ってきます。対象のアプリケーションのコマンドはファイルを開くダイアログが終了するまで処理を返さないのではありませんか? デバッガを使って、別アプリケーションのどこまで操作が終わったらSendMessageの次の処理に入るかを確認した方がよいと思います。 別アプリケーションを動かす場合、そのアプリケーションの構造を知らずやってもうまくいかないことが多いと思います。 SendMessageでコマンドを送るのではなく、キー入力等を送ってユーザインタフェースを操作することをお勧めします。

関連するQ&A

専門家に質問してみよう