おはようございます!新しいポップアップIEウィンドウから発生したイベントをキャプチャする方法
状況:
私のActiveX DLLは、カスタマイズされたウェブブラウザが含まれています。 WebブラウザはWebページを表示します。ユーザーが表示されたページ内のリンクをクリックすると、新しいIEウィンドウがポップアップし、クリックされたリンクURLに移動します。
質問:
どのように私はNEWから発射DocumenCompleteとNavigateCompleteイベントがIEのウィンドウをポップアップキャプチャすることができますか?
私はすでに試した:
私は *のNewWindow2(IDispatchを** ppDisp、 VARIANT_BOOL キャンセル)を取得しようとした イベントは、カスタマイズされたウェブブラウザ(ない新しいIEウィンドウ)から発射し、得られました新しいIEウィンドウを指すポインタppDisp。このポインタをイベントソースとして使用して、イベントキャプチャのイベントハンドラ(IDispatch :: Invoke)にアドバイスまたは接続しようとしました。しかし、それは動作しません。おそらく、新しいIEウィンドウのドキュメントがまだ読み込まれていないためです。私はわかりません。
私は何をすべきですか?
ありがとうございます!
あなたはppDispから新しいWebブラウザーポインタを取得し、新しいものを作るの違いについて詳しく説明していただけますか? MSDNによると、ppDispは新しいWebBrowserオブジェクトのIDispatchインターフェイスポインタを受け取るポインタです。 – bionicoder
私が言ったように、あなたはppDispから新しいWebブラウザを入手しません。新しいWebブラウザコントロールを作成し、イベントをシンクしてアプリケーションプロパティを取得します。アプリケーションプロパティの戻り値をppDispに入れます。 –