Grüße! So erfassen Sie Ereignisse aus dem neuen Popup-IE-Fenster
Situation:
Mein ActiveX DLL enthält einen benutzerdefinierten Web-Browser. Der Webbrowser zeigt eine Webseite an. Wenn ein Benutzer auf den Link auf der angezeigten Seite klickt, wird ein neues IE-Fenster angezeigt, das zu der URL des angeklickten Links führt.
Frage:
Wie kann ich die DocumenComplete und NavigateComplete Ereignisse aus der NEW gefeuert erfassen IE-Fenster Pop-up?
Was ich schon versucht:
Ich versuchte, die * NewWindow2 (IDispatch ** ppDisp, VARIANT_BOOL Abbrechen) Ereignis von maßgeschneiderten Web-Browser (nicht neuen IE-Fenster) gefeuert zu erfassen und erhalten der Zeiger ppDisp, der auf den neuen IE windown zeigt. Ich habe versucht, diesen Zeiger als Ereignisquelle zu verwenden, um den Ereignishandler (IDispatch :: Invoke) zur Ereigniserfassung zu beraten oder eine Verbindung herzustellen. Es funktioniert jedoch nicht. Möglicherweise liegt der Fehler daran, dass das Dokument im neuen IE-Fenster noch nicht geladen wurde. Ich bin nicht sicher.
Können Sie mir bitte einen Vorschlag machen, was ich tun soll?
Danke!
Können Sie den Unterschied erarbeiten Sie zwischen neuen WebBrowser Zeiger von ppDisp zu erhalten und neue zu erstellen? Laut MSDN ist ppDisp der Zeiger, der den IDispatch-Schnittstellenzeiger eines neuen WebBrowser-Objekts empfängt. – bionicoder
Wie gesagt, Sie erhalten den neuen Webbrowser nicht von ppDisp. Sie erstellen ein neues Webbrowser-Steuerelement, verwerfen seine Ereignisse und rufen dessen Anwendungseigenschaft ab. Setzen Sie den Rückgabewert der Anwendungseigenschaft in ppDisp. –