Verschiedene Monitore Einstellen

danielderanfaenger
Goto Top
Hallo Community,
ich habe Folgendes Problem bei dem ich eure Hilfe gebrauchen könnte.

An meinem PC habe ich 3 Monitore am Motherboard angeschlossen

Monitor 1=Hauptmonitor (WQHD) [DisplayPort 1] als Hauptmonitor
Monitor 2=Zweitmonitor (Full HD) [HDMI 1.0] als 2. Bildschirm
Monitor 3=Beamer (4K) [HDMI 2.0] für Filme und Serien

Alle Monitore/Beamer werden in den Anzeigeeinstellungen von Windows erkannt.

Nun habe ich mir überlegt nicht immer alle 3 Monitore gleichzeitig laufen zu lassen, da dies wahrscheinlich meine Grafikkarte und auch den Stromverbrauch ziemlich ausreizen. Ich wollte ein Tool verwenden um automatisch unterschiedliche Monitore/Beamer zusammen zu Verwenden.

Ich wollte eine Datei oder z.B. ein Script erstellen welche beim Ausführen unterschiedliche Monitore aktiviert bzw. deaktiviert.

In meinem Fall:
Script 1/Programm 1 "Zocken" nur ein Ausgangssignal auf meinen Hauptmonitor
Script 2/Programm 2 "arbeiten" zwei Ausgangssignale auf mein Hauptmonitor und mein 2. Monitor als Erweiterung
Script 3/Programm 3 "Filme/Serien gucken" zwei Ausgangssignale auf mein Hauptmonitor und mein Beamer dupliziert

Meine Idee war es die Powershell ISE zu benutzen um ein Script zu erstellen welches beim ausführen meine Anzeigeeinstellung wie oben angegeben ausführt. Ich habe zuerst meine Powershell mit dem Befehl
der Skript-Datei die Ausführung erlaubt und die Einstellung mit
überprüft. Dies hat auch sofort geklappt. Probleme habe ich aber schon mit dem öffnen der Anzeigeeinstellung da ich nur den Pfad C:\Windows\ImmersiveControlPanel\SystemSettings.exe gefunden habe und somit in der 1. Zeile der Powershell
stehen habe. Diese lässt sich zwar ausführen aber das Einstellungsfenster öffnet sich dennoch nicht.
Die weiteren Zeilen will ich mit der Bedingung der Einstellungen schreiben. Ist das Bedienen des Einstellungsprogramms über die Powershell überhaupt möglich? Sollte ich für diese Programmierung ein anderes Tool benutzen? Ich bin für jegliche Hilfe euch dankbar. :) face-smile

Ich entschuldige mich im Vorhinein für Rechtschreibfehler und/oder falsche Fachbegriffe. :D

MfG DanielderAnfaenger
powershell_ise

Content-Key: 2813875685

Url: https://administrator.de/contentid/2813875685

Ausgedruckt am: 28.06.2022 um 04:06 Uhr

Mitglied: NordicMike
NordicMike 18.05.2022 um 07:12:01 Uhr
Goto Top
Hi,

mit der Powershelll kannst du keine GUI fernbedienen. Autohotkey könnte das.
Die GUI führt aber auch nur Befehle aus, die du per Powershell ebenfalls ausführen kannst. Such also nach diesen Befehlen.

z.B.
https://www.tenforums.com/graphic-cards/170286-powershell-request-turn-o ...
Mitglied: Doskias
Lösung Doskias 18.05.2022 um 08:24:28 Uhr
Goto Top
Moin
Zitat von @NordicMike:
mit der Powershelll kannst du keine GUI fernbedienen. Autohotkey könnte das.
Die GUI führt aber auch nur Befehle aus, die du per Powershell ebenfalls ausführen kannst. Such also nach diesen Befehlen.
z.B.
https://www.tenforums.com/graphic-cards/170286-powershell-request-turn-o ...

Powershell kann das im Prinzip auch, wenn ich nicht komfortabel. Kurzes Beispiel:

Was passiert hier?
Zeile 1 erstellt dir ein neues Objekt, was du dann gleich brauchst
Zeile 2,4 und 6 warten einfach 2 Sekunden
Zeile 3,5 und 7 senden, wie der Name schon sagt, Tastaturkombinationen an deinen Rechner:
Im detail:
Zeile 3 Strg + Esc = Windowstaste
Zeile 5 schreibt "System"
Zeile 7 drückt für dich Enter.

Ergebnis: Die Systemsteuerung öffnet sich, als würdest du die Windowstaste drücken, System eingeben und Enter drücken. Das ganze funktioniert natürlich nur, wenn sich die entsprechenden Fenster innerhalb von 2 Sekunden öffnen und du nicht zwischendurch irgendwohin klickst. Da du damit im Prinzip jedes Menü steuern kannst und dich mit Tab und co. durch alles durchhangeln kannst, kannst du dir auf diese Art alle Einstellungen vornehmen. Du musst halt nur einmal händisch die Schritte durchführen und dabei notieren was du wann und wie oft machst.

Wenn du in der Systemsteuerung bist, musst du zum Beispiel einfach 2 x nach rechts und 7 x nach unten um System zu öffnen. Dann Tab und Enter für die Bildschirmeinstellungen und so weiter. Leg einfach die Maus weg und mach über die Tastatur alles was du machen willst, schreib es dir auf und bau es mit sendkeys nach.

Alle Sondertasten findest du hier:
https://docs.microsoft.com/en-us/previous-versions/office/developer/offi ...

Gruß
Doskias

Und ja.... streng genommen macht es nicht Powershell ;-) face-wink
Mitglied: colinardo
Lösung colinardo 18.05.2022 aktualisiert um 08:43:05 Uhr
Goto Top
Servus.
Zitat von @NordicMike:
mit der Powershelll kannst du keine GUI fernbedienen.
Oh Oh, gewagte Aussage 😉. Habe ich hier schon diverse Male gezeigt wie das geht...
https://administrator.de/forum/windows-10-lautst%C3%A4rkepopup-entfernen ...

Verknüpfungsziel nicht vorhanden. Abfrage nach Löschung der Verknüpfung unterdrücken ?

Usw.

Autohotkey nutzt auch nur die Win32 Funktionen genau das kann auch die PowerShell.

Die GUI führt aber auch nur Befehle aus, die du per Powershell ebenfalls ausführen kannst. Such also nach diesen Befehlen.
Jepp, immer die bessere Wahl.

Fertig gibst fur dich schon hier für die Konsole
https://www.nirsoft.net/articles/turn-off-monitor.html


Btw. Sendkeys ist schon ziemlich altbacken, vernünftiger und vor allem zuverlässiger geht es mit den echten Win32 Funktionen.

Grüße Uwe
Mitglied: NordicMike
NordicMike 18.05.2022 um 08:42:00 Uhr
Goto Top
Danke Doskias und Uwe,

da habe ich tatsächlich noch was dazu gelernt. Ich würde Daniel ebenfalls empfehlen die Win32 Funktionen zu verwenden, da dort keine Pause zum Ausführen eingebaut werden muss. Wenn der erste Befehl fertig ist, wird der zweite Befehl gleich danach ausgeführt.
Mitglied: Doskias
Doskias 18.05.2022 um 09:03:42 Uhr
Goto Top
Zitat von @colinardo:
Btw. Sendkeys ist schon ziemlich altbacken, vernünftiger und vor allem zuverlässiger geht es mit den echten Win32 Funktionen.

Dem kann, will und werde ich nicht widersprechen :-) face-smile Grade in diesem Bereich sind die Win32 Funktionen sicher deutlich besser, stabiler und zielführender.
Mitglied: DanielderAnfaenger
DanielderAnfaenger 18.05.2022 um 18:43:19 Uhr
Goto Top
Zitat von @Doskias:

Moin
Zitat von @NordicMike:
mit der Powershelll kannst du keine GUI fernbedienen. Autohotkey könnte das.
Die GUI führt aber auch nur Befehle aus, die du per Powershell ebenfalls ausführen kannst. Such also nach diesen Befehlen.
z.B.
https://www.tenforums.com/graphic-cards/170286-powershell-request-turn-o ...

Powershell kann das im Prinzip auch, wenn ich nicht komfortabel. Kurzes Beispiel:

Was passiert hier?
Zeile 1 erstellt dir ein neues Objekt, was du dann gleich brauchst
Zeile 2,4 und 6 warten einfach 2 Sekunden
Zeile 3,5 und 7 senden, wie der Name schon sagt, Tastaturkombinationen an deinen Rechner:
Im detail:
Zeile 3 Strg + Esc = Windowstaste
Zeile 5 schreibt "System"
Zeile 7 drückt für dich Enter.

Ergebnis: Die Systemsteuerung öffnet sich, als würdest du die Windowstaste drücken, System eingeben und Enter drücken. Das ganze funktioniert natürlich nur, wenn sich die entsprechenden Fenster innerhalb von 2 Sekunden öffnen und du nicht zwischendurch irgendwohin klickst. Da du damit im Prinzip jedes Menü steuern kannst und dich mit Tab und co. durch alles durchhangeln kannst, kannst du dir auf diese Art alle Einstellungen vornehmen. Du musst halt nur einmal händisch die Schritte durchführen und dabei notieren was du wann und wie oft machst.

Wenn du in der Systemsteuerung bist, musst du zum Beispiel einfach 2 x nach rechts und 7 x nach unten um System zu öffnen. Dann Tab und Enter für die Bildschirmeinstellungen und so weiter. Leg einfach die Maus weg und mach über die Tastatur alles was du machen willst, schreib es dir auf und bau es mit sendkeys nach.

Alle Sondertasten findest du hier:
https://docs.microsoft.com/en-us/previous-versions/office/developer/offi ...

Gruß
Doskias

Und ja.... streng genommen macht es nicht Powershell ;-) face-wink

Danke für die Antwort, funktioniert schon genau so wie du gesagt hats und super Erklärung zu den einzelnen Zeilen. Hab auch sofort verstanden wie es funktioniert, das einzige was nicht damit machbar ist ist in der GUI den ersten monitor nach links oder rechts zu verschieben da die eine drag and drop Eingabe ist. Aber dennoch bin ich schlauer geworden wie man die Powershell noch benutzen kann um Keybordeingaben zu steuern :) face-smile face-smile
Mitglied: DanielderAnfaenger
DanielderAnfaenger 18.05.2022 um 18:54:06 Uhr
Goto Top
Zitat von @colinardo:

Servus.
Zitat von @NordicMike:
mit der Powershelll kannst du keine GUI fernbedienen.
Oh Oh, gewagte Aussage 😉. Habe ich hier schon diverse Male gezeigt wie das geht...
https://administrator.de/forum/windows-10-lautst%C3%A4rkepopup-entfernen ...

Verknüpfungsziel nicht vorhanden. Abfrage nach Löschung der Verknüpfung unterdrücken ?

Usw.

Autohotkey nutzt auch nur die Win32 Funktionen genau das kann auch die PowerShell.

Die GUI führt aber auch nur Befehle aus, die du per Powershell ebenfalls ausführen kannst. Such also nach diesen Befehlen.
Jepp, immer die bessere Wahl.

Fertig gibst fur dich schon hier für die Konsole
https://www.nirsoft.net/articles/turn-off-monitor.html


Btw. Sendkeys ist schon ziemlich altbacken, vernünftiger und vor allem zuverlässiger geht es mit den echten Win32 Funktionen.

Grüße Uwe

Das MultiMonitorprogramm ist genau das was ich suche. Die monitore kann ich dann über die Windows Einstellungen so anpassen wie ich es haben will und das Tool erkennt dies und lässt mich eine CFG-Datei abspeichern welche ich dann mit dem MultiMonitorTool wieder laden kann. Das ist bis jetzt die einfachste Methode.

Durch ein wenig Research habe ich auch Rausgefunden das meine Powershell auch den Befehl
versteht und somit zumindest den 1. und 2. Monitor auf "Erwitern" einstellen kann. Dies scheint auch eine gute Möglichkeit zu sein die Bildschirme über die Powershell zu "bearbeiten" :) face-smile.
Vielleicht wenn ich mir noch eure Beiträge durchlese werden meine Kenntnisse noch besser und ich schaffe es sogar mir ein Skript zu erstellen.

Auf jeden Fall danke für die super Antwort!
Mitglied: Doskias
Doskias 19.05.2022 um 08:39:12 Uhr
Goto Top
Zitat von @DanielderAnfaenger:
Danke für die Antwort, funktioniert schon genau so wie du gesagt hats und super Erklärung zu den einzelnen Zeilen. Hab auch sofort verstanden wie es funktioniert, das einzige was nicht damit machbar ist ist in der GUI den ersten monitor nach links oder rechts zu verschieben da die eine drag and drop Eingabe ist.

Doch ging ;-) face-wink. Einen Monitor auswählen, Pfeiltasten nach unten oder oben, dann nach links oder rechts (abhängig davon welchen monitor du ausgewählt hast) und dann wieder nach oben oder unten. Auch wenn es praktisch ist, du brauchst für Windows eigentlich weiterhin keine Maus, wenn du den richtigen Shortcut kennst. ;-) face-wink

Aber dennoch bin ich schlauer geworden wie man die Powershell noch benutzen kann um Keybordeingaben zu steuern :) face-smile

Wie schon gesagt ist das allerdings etwas veraltet. Powershell greift hier auf die Windows Scripting Shell zurück mit all seinen Krankheiten und Fehleranfälligkeiten. Kleinste Abweichung, falsches Fenster, ein Klick zwischendurch und die Befehle laufen bestenfalls ins leere, im schlimmsten Fall in ein anderes Fesnter.