Geöffnete Chrome Tabs anzeigen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Geöffnete Chrome Tabs anzeigen

    Hallo,

    ich würde gerne über mein kleines Programm herausfinden welche Chrome Tabs geöffnet sind. Mit Automation bekomme ich leider nur hin, dass er mir denn aktiven Tab anzeigt, aber nicht die anderen. Habt ihr vllt. eine Lösung für mich. :)

    Bei Google finden sich nicht besonders Hilfreiche Sachen, da diese meist schon über 2 Jahre alt sind und in der Regel nicht funktionieren.

    Danke für eure Hilfe. :)

    LG :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mephisto090“ ()

    Willkommen im Forum.
    Na, da haste Dich aber nicht so intensiv mit Automation beschäftigt.
    Das stackoverflow-Beispiel ist nämlich eine gute Grundlage.

    VB.NET-Quellcode

    1. Dim ChromeInstances = AutomationElement.RootElement.FindAll(TreeScope.Children, New PropertyCondition(AutomationElement.ClassNameProperty, "Chrome_WidgetWin_1"))
    2. For Each ChromeInstance As AutomationElement In ChromeInstances
    3. Dim TabBar = ChromeInstance.FindFirst(TreeScope.Descendants, New PropertyCondition(AutomationElement.LocalizedControlTypeProperty, "Registerkarte"))
    4. Dim TabNames = TabBar.FindAll(TreeScope.Children, Condition.TrueCondition).Cast(Of AutomationElement).Select(Function(x) x.Current.Name)
    5. MessageBox.Show(String.Join(Environment.NewLine, TabNames))
    6. Next


    Lektüre: externe .Net-Programme auslesen und manipulieren
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Kurze Recherche und ich kam wieder auf stackoverflow raus. Daher für die Zukunft: selber suchen und probieren geht schneller.

    VB.NET-Quellcode

    1. For Each ChromeInstance As AutomationElement In ChromeInstances
    2. Dim AddressBar = ChromeInstance.FindFirst(TreeScope.Descendants, New PropertyCondition(AutomationElement.NameProperty, "Adress- und Suchleiste"))
    3. MessageBox.Show(DirectCast(AddressBar.GetCurrentPattern(ValuePattern.Pattern), ValuePattern).Current.Value)
    4. Next
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Richtig. Du musst den Code aus Post#2 und #4 schon selber miteinander kombinieren.

    Ich glaube, dass Dein Vorhaben so nicht möglich ist, weil es m.E. immer nur eine Adressleiste gibt, die einfach unterschiedlich befüllt wird. Da müsstest Du wohl nicht mit mehreren Tabs, sondern eher mit mehreren Fenstern arbeiten, um alle Adresslinks zu bekommen.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.