none
Ole automation mit Internet Explorer - Referenz auf Childwindow ermitteln RRS feed

  • Allgemeine Diskussion

  • Hallo zusammen,

    in einem über Ole automation controllierten Internet Explorer kann ich über die Events NewWindow, NewWindow2 oder NewWindow3 feststellen, wenn aus einer Webseite ein neues  IE Fenster geöffnet wird. Die o.ä. Events liefern mir zwar jede Mengen Informationen, aber leider keine Referenz auf das neue Window.

    Weiß jemand, wie ich daran komme?


    MfG Holger Vorberg (VS2010 Premium, C#, VB.NET, FW 4.0)
    Mittwoch, 6. April 2011 09:46

Alle Antworten

  • Hallo Holger Vorberg,

    Kannst Du bitte Dein Problem deutlicher und völlig beschreiben?

    Umfasse mindestens die folgenden Schritte in der Beschreibung Deines Problems:

    1) Eine Übersicht der Funktionsweise von dem Programm

    2) Das Ergebnis des aktuellen Codes

    3) Was erwartest Du dass Dein Code machen soll

    4) Den Inhalt der Eingabedateien (falls zutreffend)

    Schließlich, sagt uns diese Datensammlung, was Du von deinem Code erwartest, so dass wir vergleichen können, was es tut, mit dem was Du möchtest. Die meiste Zeit, können die MVP Experten und andere Mitglieder des Forums fast sofort eine Antwort auf Deine Frage geben, indem sie diese Informationen verwenden.

    Relevanter Code zu posten wäre auch nicht schlecht oder eine .zip Datei mit den Code (falls der Code zu groß ist) kann man ihm Public Ordner von SkyDrive laden und den link hier Posten. (Wie nutze ich den SkyDrive?)

    Ich konnte Dich bis hier verfolgen:

    [XAML]

    <Window x:Class="WPFWebbrowser.Window1"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
      Title="Window1" Height="500" Width="700">
      <Grid>
        <WindowsFormsHost Margin="12" Name="windowsFormsHost1">
          <wf:WebBrowser x:Name="webBrowser1"/>
        </WindowsFormsHost>
      </Grid>
    </Window>
    

    [Visual C#]

     

    using System;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Forms;
    
    namespace WPFWebbrowser
    {
      /// <summary>
      /// Interaction logic for Window1.xaml
      /// </summary>
      public partial class Window1 : Window
      {
        public Window1()
        {
          InitializeComponent();
          ((SHDocVw.DWebBrowserEvents2_Event)webBrowser1.ActiveXInstance).NewWindow3 += new SHDocVw.DWebBrowserEvents2_NewWindow3EventHandler(MainWindow_NewWindow3);
          webBrowser1.Navigate("http://www.microsoft.com");
        }
    
        void MainWindow_NewWindow3(ref object ppDisp, ref bool Cancel, uint dwFlags, string bstrUrlContext, string bstrUrl)
        {
          Cancel = true;
        }
    
      }
    }
    

     

     

    Grüße,

    Robert

    Donnerstag, 19. Mai 2011 14:21
    Moderator