• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ハンドルのwinndowを閉じる)

ハンドルを簡単に閉じる関数が存在するか

このQ&Aのポイント
  • WebBrowserで表示したページをマウスコントロールする処理を行っています。
  • 特定の場面でポップアップメニューが表示されることがあります。
  • 指定したハンドルを簡単に閉じる関数は存在するのか、またポップアップメニューを表示するスクリプトはどこにあるのか調査しましたが見つかりませんでした。

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

  • ベストアンサー
  • kumatti1
  • ベストアンサー率60% (73/121)
回答No.1

SendMessage で WM_CLOSE 送信で。 (IEのNewWindow2 イベントで捕捉できるタイプなのかは文面から分からない) 他にはボタンがウィンドウならWM_COMMAND送信でしょうし、 そうでないならWM_HTML_GETOBJECT送信で参照を受け取るのもありかなと。

qhtsige
質問者

お礼

ご返事が遅くなり済みませんでした。 実はこのダイアログがそもそも出ないようにする方法が見つかったので、つい投稿を忘れていました。ご指摘ありがとうございました。 WM_CLOSEメッセージを、そのダイアログに送らねばならないと思いますが、ダイアログのハンドルが不明なのでできないのではと思います(?)。 環境説明が不足していましたが、c++BuilderXE2で、CppWenBrowserで表示したページからダイアログが出ます。 これはそのページに対して常に初期化に相当するボタンを毎回押すことで、もし出ていても消えることがわかりましたので、そうしています。 NewWindow2は初めてなので、ネットで調べましたがよくわかりませんでした。 WM_HTML_GETOBJECTもよくわかりませんでした。 EnumChildWindowsなどで、そのときにwindow上にあるすべてのウインドウを列挙する方法でなにがあるか調べようと試みましたが、結局それもできませんでした。 別質問とも技術的には関連しますが、WebBrowserなどの操作がまだまだわからないことが多すぎます。ドキュメントの多さから、やはりVC++2010や.NETでやるべきかとも悩んでいます。

qhtsige
質問者

補足

質問のタイトルでは、WM_CLOSE でよいことになりますね。 色々やっていたので、現状のお話をしてしまいました。

関連するQ&A