Laden...

Links aus dem Internetbrowser ermitteln

Erstellt von Echo]6[ vor 10 Jahren Letzter Beitrag vor 10 Jahren 802 Views
E
Echo]6[ Themenstarter:in
111 Beiträge seit 2006
vor 10 Jahren
Links aus dem Internetbrowser ermitteln

Hallo!

Ich wollte euch mal fragen, ob es möglich ist aus einem geöffneten Internetbrowser (IE, Firefox usw.) alle URL's auszulesen, damit meine ich auch aus mehreren Registern (falls vorhanden), die geöffnet sind?

Wenn ja, wie könnte man das realisieren?

Vielen Dank schonmal im Voraus für eure Antworten!

MfG
Echo]6[

C
1.214 Beiträge seit 2006
vor 10 Jahren

Eine allgemeine und einfache Lösung wird es dafür nicht geben. Du könntest vielleicht ein Plugin schreiben. NPAPI wird von allen gängigen Browsern unterstützt. Allerdings wär da noch die Frage, ob dir de API auch die Möglichkeit bietet, auf alle Tabs zuzugreifen. Ich kenne die API nicht im Detail, glaubs aber eher nicht.
Auf den Internet Explorer kann man über COM zugreifen. Kann mich aber vage erinnern, dass er sich früher nicht in der ROT eingetragen hat, ist also schon ewig her. Ob Firefox eine vergleichbare Schnittstelle bietet, weiß ich nicht.

E
Echo]6[ Themenstarter:in
111 Beiträge seit 2006
vor 10 Jahren

Hallo und danke für deine Antwort! Dann werde ich mal weiterschauen!

MfG
Echo]6[

E
Echo]6[ Themenstarter:in
111 Beiträge seit 2006
vor 10 Jahren

Nach längerem Suchen, habe ich jetzt eine Lösung für den Internet Explorer gefunden, welche ich euch nicht vorenthalten wollte!

  1. Zuerst einmal müsst ihr die SHDocVw.DLL in euer Projekt als Referenz hinzufügen....die DLL findet ihr unter *C:\Windows\System32*

  2. Nun müsst ihr in den Eigenschaften der hinzugefügten Referenz, die Eigenschaft Embed Interop Types auf false setzen. Wenn ihr das nicht machen solltet, bekommt Ihr einen Fehler angezeigt.

  3. Mit folgender Methode, könnt ihr euch die aktuellen Links (auch aus mehreren Registern) aus dem Internet Explorer anzeigen lassen.



        private void ShowUrls()
        {
            foreach (InternetExplorer ie in new ShellWindowsClass())
            {
                if (!ie.LocationURL.StartsWith("file"))
                {
                    textBox1.Text += ie.LocationURL + Environment.NewLine;
                }
            }
        }


In der Schleife, habe ich dann noch eine Abfrage eingebaut, denn falls ihr währenddessen auch ein oder mehrere Windows-Explorer-Fenster geöffnet haben solltet, werden euch auch davon die Pfade mit angezeigt, welche in diesem Fall mit file beginnen.

Vielleicht kann das ja hier noch jemand gebrauchen! 😁

MfG
Echo]6[

Hinweis von herbivore vor 10 Jahren

Vielen Dank dafür, dass du deine eigene Lösung gepostest hast!