Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Chrometabs programmatisch zählen

Mitglied: DerWoWusste

DerWoWusste (Level 5) - Jetzt verbinden

14.02.2018 um 17:38 Uhr, 679 Aufrufe, 29 Kommentare, 3 Danke

Moin Kollegen.

Ich suche einen Weg, wie ich per Skript ermitteln kann, wie viele Tabs ein Nutzer in Chrome offen hat. Es wäre zu einfach, wenn dies über die Anzahl der chrome.exe-Prozesse ginge - leider nein. Manchmal ist nur ein Tab offen, aber es laufen für diesen Nutzer bis zu 9 Chromeprozesse.

Hat jemand den Durchblick?
29 Antworten
Mitglied: emeriks
14.02.2018 um 17:51 Uhr
Hi DWW,
he he. Letztens hatte ich selbe Aufgebenstellung beim FireFox.
Da habe ich auch keinen Ansatz. Sicher ist, dass er beim FF für neue Tabs einen neuen Prozess startet oder einen freien nimmt. Wenn man einen Tab schließt, dann beendet er offenbar nicht den dafür bereits gestarteten Prozess, dieser wird dann "frei".

Wenn Du da eine Lösung für den Chrome findest, dann wäre ich interessiert. Vielleicht kann ich das dann für den FF adaptieren.

E.
Bitte warten ..
Mitglied: DerWoWusste
14.02.2018 um 19:10 Uhr
Moin.

Tja, snapdragon, das ergooglet man schnell, aber was mache ich damit? Ich stecke da nicht wirklich drin, um das zu verwerten.
Bitte warten ..
Mitglied: Epixc0re
14.02.2018 um 20:47 Uhr
Kannst Du Extensions im Chrome nach installieren? Dann könnte man da was bauen ...
Bitte warten ..
Mitglied: DerWoWusste
14.02.2018 um 20:50 Uhr
Ja klar, das könnte ich wohl, wenn's nicht anders geht.

Wenn es aber keine naheliegende Lösung gibt, wird es wohl doch auf die Zählung der chrome-Prozesse hinauslaufen Auch wenn die nicht immer so aussagekräftig ist, so besteht ja doch eine Korrelation von Tabs und Prozessen.
Bitte warten ..
Mitglied: Epixc0re
14.02.2018 um 21:01 Uhr
Ok, Vorschlag: chrome Extension welche auf close/Open Events für tabs reagiert und die Anzahl dann in ein temp file schreibt, welches Du dann einlesen kannst - was haltest Du davon?

lG,
Stefan
Bitte warten ..
Mitglied: DerWoWusste
14.02.2018 um 21:08 Uhr
Wenn der Sourcecode vorliegt, gerne.
Bitte warten ..
Mitglied: Epixc0re
14.02.2018 um 21:17 Uhr
Ich Tipp Dir das morgen mal runter, bin grad 500km gefahren & im Bett gelandet!

lG,
Stefan
Bitte warten ..
Mitglied: DerWoWusste
14.02.2018 um 21:47 Uhr
Nur wenn's leicht fällt.
Die Prozesse setzen sich offenbar aus Extensions (je einer pro Extension) plus der Anzahl der Tabs zusammen +2, welche ich nicht verstehe, aber was soll's. Da die meisten hier die gleiche Anzahl von Extensions haben, kann ich also auch so schon genau genug überblicken, wie viele Tabs jeder offen hat, indem ich die chrome-Prozesse zähle und einen festen Wert abziehe.
Bitte warten ..
Mitglied: colinardo
15.02.2018, aktualisiert um 11:23 Uhr
Servus DWW,
könnte dir das auch ohne Extension schnell als C# EXE für Chrome und Firefox zusammenschreiben.
Wenn noch Interesse besteht einfach melden.

Grüße Uwe
Bitte warten ..
Mitglied: rubberman
15.02.2018 um 11:30 Uhr
Hallo Uwe,

aus Interesse - wo greifst du an, um die Anzahl Tabs zu ermitteln? Ich hab gestern mal Spy angeworfen um zu sehen was ich für Fenster-Handles von Chrome bekomme. An der Stelle bin ich nicht weitergekommen da ich keine Handles von den Tabs bekommen habe, die inaktiv waren.

Steffen
Bitte warten ..
Mitglied: colinardo
15.02.2018, aktualisiert um 11:53 Uhr
Hallo Steffen.
Stichwort UIAutomationClient.dll ist heute im .NET Framework mit dabei.
https://msdn.microsoft.com/de-de/library/system.windows.automation(v=vs. ...
Und liegt hier
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\WPF\UIAutomationClient.dll"
Zusätzlich einzubinden ist
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\WPF\UIAutomationTypes.dll"

Nützlich zur Entwicklung ist dabei auch das GUI inspect.exe Tool aus dem Windows SDK.
https://msdn.microsoft.com/en-us/library/windows/desktop/dd318521(v=vs.8 ...

Grüße Uwe
Bitte warten ..
Mitglied: rubberman
15.02.2018 um 11:54 Uhr
Thx Uwe, schau ich mir heute Abend mal an

Steffen
Bitte warten ..
Mitglied: colinardo
LÖSUNG 15.02.2018, aktualisiert um 12:09 Uhr
So hier mal schnell was zum probieren:

.NET4 als Konsolenanwendung
BrowserTabCount_364782.zip


Aufruf dann für chrome so
Browsertabcount.exe -chrome
oder für den Feuerfux
Browsertabcount.exe -firefox
Angetestet auf Windows 10 Enterprise (letztes Build) x64 und als Veteran Windows 7 x64 mit aktuellen Browser-Versionen.

Ausgegeben wird nur die reine Anzahl der Tabs.

Wenn man die Titel der Tabs haben möchte das geht bei Bedarf auch problemlos.
Bitte warten ..
Mitglied: rubberman
15.02.2018 um 13:05 Uhr
Hallo Uwe,

funktioniert, hab das Tool aber ausgetrickst indem ich ein zweites Chrome Fenster aufgemacht habe. Im ersten hatte ich 3 Tabs, im zweiten einen. Je nachdem welches Fenster in Z Richtung am meisten vorn liegt, gibt mir das Tool entweder 3 oder 1 zurück.

Steffen
Bitte warten ..
Mitglied: colinardo
15.02.2018, aktualisiert um 13:20 Uhr
Zitat von rubberman:

Hallo Uwe,

funktioniert, hab das Tool aber ausgetrickst indem ich ein zweites Chrome Fenster aufgemacht habe. Im ersten hatte ich 3 Tabs, im zweiten einen. Je nachdem welches Fenster in Z Richtung am meisten vorn liegt, gibt mir das Tool entweder 3 oder 1 zurück.
Ja das habe ich auch schon bemerkt das liegt daran das der MainWindowHandle je nach Fokus zwischen den Prozessen springt auf die schnelle hab ich das jetzt noch nicht berücksichtigt.
Bitte warten ..
Mitglied: DerWoWusste
15.02.2018, aktualisiert um 14:35 Uhr
Was soll ich sagen?
Uwe, wie immer großartig. Klappt wie eine 1.

Ich nutze das übrigens, um Nutzer etwas zu zügeln, die unseren RD-Host mit bis zu 60 Chrometabs doch ein wenig ausbremsen.
Deployed ist das nun sehr einfach: einen geplanten Task im Nutzerteil der GPO deployen, der nur auf dem RDHost erstellt wird und stündlich im Nutzerkontext ausgeführt wird. Wenn das Resultat > 20 ist, bekommen die Nutzer nun ein schönes Popup, das sie doch bitte nicht nur Tasks öffnen, sondern auch hin und wieder ein paar schließen sollen.
Bitte warten ..
Mitglied: emeriks
15.02.2018 um 14:39 Uhr
Deployed ist das nun sehr einfach: einen geplanten Task im Nutzerteil der GPO deployen, der nur auf dem RDHost erstellt wird und stündlich im Nutzerkontext ausgeführt wird. Wenn das Resultat > 20 ist, bekommen die Nutzer nun ein schönes Popup, das sie doch bitte nicht nur Tasks öffnen, sondern auch hin und wieder ein paar schließen sollen.
Und damit machst Du Dich dann wieder beliebt ...
Bitte warten ..
Mitglied: colinardo
15.02.2018, aktualisiert um 14:45 Uhr
So, der Fehler das weitere Fenster mit Tabs sowohl bei Firefox und Chrome nicht berücksichtigt wurden ist mit dem aktuellen Build behoben. Link oben bleibt gleich. Edge und IE werde ich bei Zeiten eventuell noch hinzufügen wenn die Nachfrage da ist.
Bitte warten ..
Mitglied: DerWoWusste
15.02.2018, aktualisiert um 14:51 Uhr
@colinardo:
Welche Versionsnummer hat der Build, welcher mehrere Fenster berücksichtigt? Der Link oben gibt mir noch die alte 0.5.0.1
@emeriks
NIcht beliebt, aber gefürchtet.
Bitte warten ..
Mitglied: rubberman
15.02.2018 um 15:06 Uhr
Zitat von DerWoWusste:
Der Link oben gibt mir noch die alte 0.5.0.1
Nope. 0.5.0.20
Bitte warten ..
Mitglied: DerWoWusste
15.02.2018 um 15:13 Uhr
Ah-jetzt-ja. Eine 0.5.0.20!
Bitte warten ..
Mitglied: rubberman
16.02.2018 um 17:37 Uhr
Hallo Uwe

Ich hab gestern mal versucht dein Programm nachzustellen (OK ich gebe zu ich habe mir den Plaintext in deinem Tool angesehen um zu wissen mit was du gearbeitet hast ). Ich bin fast verzweifelt weil es nur sporadisch funktioniert hat. Dann ist mir aufgefallen, dass ich immer 0 zurück bekommen habe, wenn Chrome in die Taskleiste minimiert war. Wenn das Fenster nur im Hintergrund liegt, bekomme ich die korrekte Anzahl Tabs. Also hab ich nochmal mit deinem Tool getestet und gemerkt dass es sich genauso verhält. (Win10 Home 32 Bit, Version 1609. Bin leider heute nicht dazu gekommen das noch mal auf einer anderen Maschine zu verifizieren.) Hab bislang nicht rausgefunden wo der Fehler liegt, wollte dich aber zumindest informieren. Vermutlich findest du den Fehler schneller.

Steffen
Bitte warten ..
Mitglied: colinardo
17.02.2018, aktualisiert um 13:22 Uhr
Offensichtlich hängt Chrome die Tabs aus der Fenster-UI aus so lange es minimiert ist. Bei Firefox ist das nicht der Fall. Das ist ein Problem. Ich würde jetzt als Workaround höchstens einen temporären programmatischen Restore des(r) Fenster(s) (im Hintergrund) erwägen. Mal sehen ob ich noch eine andere Möglichkeit finde.

- edit 11:03 - Workaround für Chrome eingebaut wenn Fenster minimiert sind. (Link wie oben) 0.5.0.25.
Bitte warten ..
Mitglied: rubberman
17.02.2018 um 13:20 Uhr
Ah, okay. Heißt, da muss die WinAPI noch ein bisschen herhalten. Verstanden.

Grüße
Steffen
Bitte warten ..
Mitglied: rubberman
18.02.2018, aktualisiert um 16:48 Uhr
Für das Restore habe ich auch kein Workaround gefunden. Aber vielleicht 2 Vorschläge für Chrome:
- Nutze IsIconic() statt GetWindowPlacement(), dann sparst du dir das Overhead der WINDOWPLACEMENT Struktur.
- Suche nach dem ersten Tab, statt nach dem Button mit Name "Neuer Tab" oder "New Tab". Somit wird das ganze sprachunabhängig.
01.
PropertyCondition findCond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.TabItem); 
02.
AutomationElement firstTab = AutomationElement.FromHandle(hWnd).FindFirst(TreeScope.Descendants, findCond); 
03.
if (firstTab != null) 
04.
  cnt += TreeWalker.ControlViewWalker.GetParent(firstTab).FindAll(TreeScope.Children, findCond).Count;
Grüße
Steffen
Bitte warten ..
Mitglied: colinardo
18.02.2018, aktualisiert um 20:44 Uhr
Stimmt, das gibt's ja auch noch, danke, Brett vorm Kopp.
Jepp solange sie die UI nicht umbauen und sich da nicht noch ein anderes Tabitem davor verkrümelt, ok .
Bitte warten ..
Mitglied: rubberman
18.02.2018, aktualisiert um 21:29 Uhr
solange sie die UI nicht umbauen
Davor bist du nicht gefeit. Wenn der Klassenname dann nicht mehr mit "Chrome_WidgetWin" anfängt, hast du auch verloren

und sich da nicht noch ein anderes Tabitem davor verkrümelt
Ich hatte anfangs die komplette Struktur nach TabItems durchsucht. Dann bekommst du auch das richtige Ergebnis, dauert aber länger als nach dem ersten Fund nur die Children zu sammeln. (Es ist mir sowieso ein Rätsel warum das gefühlte Ewigkeiten dauert. Bei der handvoll Elemente die Inspect zeigt, sollte das Ergebnis in wenigen Millisekunden vorliegen.)
Bitte warten ..
Mitglied: rubberman
23.02.2018 um 18:46 Uhr
Ah, sehe gerade du hast noch mal ein Update nachgeschoben
Eine Macke hat das Chrome Workaround noch. Das aktive Fenster verliert den Focus beim Restore und bekommt ihn auch nicht automatisch wieder. Hab das bei mir mit zwei zusätzlichen API Aufrufen gelöst:
01.
... 
02.
if (iconic) { 
03.
  IntPtr hFgWnd = GetForegroundWindow(); 
04.
  ShowWindow(hWnd, 4u /* SW_SHOWNOACTIVATE */); 
05.
  ShowWindowAsync(hWnd, 0u /* SW_HIDE */); 
06.
  SetForegroundWindow(hFgWnd); 
07.
08.
...
Gruß
Steffen
Bitte warten ..
Ähnliche Inhalte
Microsoft

Windows Explorer Bildkompression programmatisch ansprechen

gelöst Frage von DerWoWussteMicrosoft11 Kommentare

Moin Kollegen! Hat schon einmal jemand ein Kommando gefunden, um die in Windows eingebaute Bildkompression anzusprechen? Ich meine die, ...

Batch & Shell

In Batch Zählen

gelöst Frage von mavericklpBatch & Shell2 Kommentare

Guten Morgen zusammen, Ich habe ein kleines Problem mit einer Zählschleifer in der Batch Datei. Und zwar werden die ...

Batch & Shell

Unterverzeichnis zählen

gelöst Frage von karla123Batch & Shell20 Kommentare

Hallo liebes Forum, ich habe ein Problem und möchte Euch bitten mir zu helfen. Benötigt wird ein Batch mit ...

Microsoft Office

Runden von Zahlen in Excel über Makro

gelöst Frage von fiAScoMicrosoft Office7 Kommentare

Hallo Community Ich habe eine Frage zum Runden von Zahlen mit/in einem Excel Makro. Ich habe folgende Situation: In ...

Neue Wissensbeiträge
Backup

2016 - Restore mit WBAdmin - iSCSI Device als Sicherungsziel

Erfahrungsbericht von Henere vor 2 TagenBackup1 Kommentar

Servus zusammen, was mich eben einige graue Haare gekostet hat Server 2016. Ich habe meinem Server eine weitere M2 ...

Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 4 TagenHumor (lol)10 Kommentare

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 4 TagenExchange Server9 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 5 TagenErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Heiß diskutierte Inhalte
E-Mail
Deutsche e-Mail Adresse auf iPhone in Katar. Nur Probleme
gelöst Frage von vanTastE-Mail32 Kommentare

Moin, ich habe hier in Deutschland auf einem Exchange 2013 eine e-Mail Adresse (name@domain.de) für einen Kollegen in Katar ...

Windows Server
Domäne beitreten nicht möglich, unter VMWare windows Server 2016 Core
Frage von AmanuelWindows Server21 Kommentare

Ich habe auf meinem Mac unter VMWare Windows Server 2016 Core und Windows Server 2016 Desktopversion installiert. Beide Systeme ...

Windows Server
Server verliert Dateien und Ordner
gelöst Frage von routeserverWindows Server18 Kommentare

Hallo Freunde, ich habe hier ein Problem, das mich an meine Grenzen treibt und ich würde gerne wissen, ob ...

Windows Tools
User Self Service und Client Management
Frage von OrkansonWindows Tools14 Kommentare

Hallo zusammen, ich hab ein paar verschiedene Fragen: 1. Was benutzt ihr um Software im Unternehmen zu verteilen? 2. ...