Icon verstecken (Systray)

  • Hallo!

    Ich habe eine kleines "optisches" Problem und hoffe ihr könnt mir weiterhelfen. Es gibt das schöne Programm unter %windir%\system32\PresentationSettings.exe (nur Windows PRO/Enterprise/...). Das Programm kann entweder auf "mobilen" Geräten oder nachdem man zwei RegKey setzt auf jeden Windows-Client aufrufen.

    Was macht das Tool: Hier kann man z.B.: den Bildschirmschoner für eine Präsentation ausschalten, Lautstärke einstellen...

    Soweit funktioniert das alles. Ich habe dazu ein kleines Autoit-Script geschrieben das ein bißchen die Steuerung darüber übernehmen soll. Im Großen und Ganzen wird mit einem RUN-Befehl das Programm gestartet. Soweit funktioniert das auch alles, nur es wird in der Taskleiste auch das Symbol (mit Kontextmenu) angezeigt.

    Ich würde gerne das Symbol ausblenden, weiß aber nicht wie. Den Prozess mit @sw_hide starten hilft hier leider nicht.

    Gibt es da eine Möglichkeit oder muss ich damit Leben wie es ist!

    lg

    Racer

  • Hier mal meine damalige Lösung für ein ähnliches Problem. Wenn Du im Hauptprogramm das 'ProcessClose' weglässt, sollte damit das gewünschte möglich sein.

    Dateien

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Sorry für meine späte Rückmeldung, aber zur Zeit ist viel zu tun!

    Micha_he: Leider funktioniert das Ausblenden mit Deinen Funktionen nicht (mehr?) unter Windows 10 - oder ich mache was falsch:/

    in die Varable $sTitle habe ich den Programmnamen / Prozessnamen / Titelnamen ,... geschrieben, aber es wird nicht gefunden.

    Habe ich da eine Fehler gemacht???

    lg

    Racer

  • Das von mir gepostete Script war für ein Symbol im Infobereich unten rechts. Kann natürlich sein das es mit Win10 nicht mehr läuft, müsste ich schauen.

    Aber das Tool 'PresentationSetting.exe' zeigt dort auch gar kein Symbol an, jedenfalls bei meinem Test. Nur das Symbol mittig in der 'Fensterleiste', für das gestartete Programm bzw. geöffnete Fenster. Meinst Du dieses Symbol ?

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    Einmal editiert, zuletzt von Micha_he (4. Dezember 2018 um 13:27)

  • Ja, das meine ich!

    Wenn Du in der Console "c:\windows\system32\PresentationSettings.exe /start" aufrufst hast Du nicht das Fenster sondern nur das Symbol. Und genau das möchte ich verstecken.

    lg

    Racer

  • Probiers mal mit dieser Variante. Die ToolbarWindows32-Instanz für den Infobereich ist bei Windows 10 eine '3'.

    Der Name passt auch schon...

    Dateien

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Hallo Micha_he

    Probiers mal mit dieser Variante. Die ToolbarWindows32-Instanz für den Infobereich ist bei Windows 10 eine '3'.

    Das ist ein Irrtum. Die Nummer ist dynamisch. Wenn es bei dir aktuell die Instanz Nummer 3 ist, wird es die Instanz Nummer vier, wenn du bspw. eine eigene Symbolleiste hinzufügst..

    Ich habe das auch mal gebraucht und habe Hilfe im angehängten Skript gefunden.

    Dann könnte man etwa so damit arbeiten:

  • autoiter : Funktioniert leider auch nicht allen Fällen.

    Auf meinem Win7-System existieren 2 'ToolbarWindows32'-Instanzen. Einmal "Infobereich des Systems" und einmal "Infobereich des Benutzers". Deine Variante liefert bei mir (zufällig) die Instanz des "Infobereich des Systems" zurück und darin sind leider die bereffenden Objekte nicht.

    Desweiteren verwendest Du in der For-Schleife der _Get_Systray_Infos-Funktion die Variable $iInstances statt $i.

    Unter Zuhilfenahme der _ListControls-UDF von autoiter, sollte folgendes jetzt aber weitesgehend funktionieren, jedenfalls wenn das Windows deutsch oder englisch ist:

    Dateien

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Guten Morgen!

    Sorry für meine späte Antwort, bin gestern nicht mehr dazu gekommen...

    @Micha_he: vielen Danke, das funktioniert aus.

    Ich muss aber sagen das ich die Funktionen nicht ganz verstehe und durch den Beitrag von Autoiter auch jetzt etwas verunsichert bin ob ich immer das richtige Icon ausblende.

    autoiter: gibt die Funktion _Get_Systray_Infos() immer die korrekte Instance zurück so das ich den Wert mit Micha_he's Beispiel kombinieren kann, oder muss/soll ich trotzdem das System abfragen (Windows 7/10) und dementsprechend die Instanz setzen?

    lg

    Racer

  • Mein Beispiel oben enthält bereits eine korrigierte Version der _Get_Systray_Infos-Funktion. Die brauchst nur noch die originale UDF aus dem Beitrag von Autoiter im selben Ordner wie das Beispielskript.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Hallo Micha_he

    Auf meinem Win7-System existieren 2 'ToolbarWindows32'-Instanzen. Einmal "Infobereich des Systems" und einmal "Infobereich des Benutzers".

    Aha, das kannte ich auch nicht.

    ...

    Desweiteren verwendest Du in der For-Schleife der _Get_Systray_Infos-Funktion die Variable $iInstances statt $i.

    Allerdings. Da habe ich gestern zu schnell hin und her kopiert. Die Funktionsnamen und angegeben Meldungen sind bei zweitem Blick auch krude..?

    Danke für die Korrekturen. Das werde ich für mich dann auch übernehmen.

    Grüße autoiter

  • Auf Basis der letzten Info's, habe ich nochmal eine verkürzte Variante geschrieben, die ohne Autoiter's UDF auskommt:

    Dateien

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • autoiter

    Ich habe dein Script _ListControls.au3 etwas umgestrickt und ein paar Optionen hinzugefügt... die Zeilen 86-90 in deinem Original... so kann man "StringFormat" natürlich auch benutzen! 8o

    Man konnte nur alle oder die sichtbaren Controls anzeigen lassen... jetzt auch nur die hidden. Die Texte wurden immer in voller Länge ausgegeben... bei SciTE z.B. (Quelltext) nicht unbedingt gut. Nun können die Texte begrenzt werden, oder man setzt die Länge einfach auf 0, wenn man sie gar nicht haben will. Zudem wird jetzt auch die (ungeschnittene) Länge der Texte mit angezeigt.

    Im Anhang habe ich mal eine von mir angepasste WinGetControls.au3 gelegt... macht in etwa dasselbe wie _ListControls... etwas detaillierter... und es wird kein String, sondern ein Array zurückgegeben.

  • Liebe AutoITler!

    Ich brauche zu diesen Thema wieder Eure Hilfe. Nachdem schön langsam aber sicher Windows 11 immer mehr kommt, funktioniert das Ausblenden dort nicht mehr.

    Da ich bis heute das Script Micha_he nicht verstehe, kann ich Euch nur bitte diese für Windows 11 zu erweitern.

    vielen Dank

    lg

    Racer

  • Kann das mangels Win11 nicht anpassen. Steht denn mit den Au3Info-Finder-Tool über dem SysTray unter Win11 dort etwas anderes wie hier?

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Versucht mal folgende Version. Im hier angehängten Beispiel, soll das Netzwerk-Icon ausgeblendet werden. Müsst ihr an eurem Fall anpassen. Ich habe die Class des Controls rausgenommen, welche unter Win11 nicht überein stimmte. Durchläuft die Schleife halt alle, sind ja nicht all zu viel in der Leiste.

    Dateien

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    Einmal editiert, zuletzt von Micha_he (10. Januar 2024 um 14:59)