Ändern Sie die Anzeigeanordnung über Stapel / Befehlszeile unter Windows 7

12

Ich möchte die Anzeigeanordnung meines Computers über die Befehlszeile ändern. Ich habe 2 Monitore eingerichtet, erweitert und möchte das Monitor-Setup von Dual Display auf Single Display und zurück über die Befehlszeile ändern.

Ich habe mir QRes und nircmd angesehen. Während QRes keine Multimonitor-Unterstützung bietet, kann nircmd einen Monitor nicht deaktivieren, sondern nur den Primärstatus und die Auflösung separater Bildschirme ändern.

Es wäre dankbar, wenn Sie einen Weg kennen, dies zu tun.

Bearbeiten: Ich werde meine Lösung hier mit dem Display-Wechsler in Klimenolen posten Antwort:

@echo off
REM setting to single screen
echo *** Disabling Screen 2 *** 
cd C:\Program Files (x86)\12noon Display Changer\
dc64cmd.exe -monitor="\\.\DISPLAY2" -detach

echo Starting TF2 -fullscreen -novid -console -w 1920 -h 1200
REM Starting Team Fortress 2 fullscreen
cd C:\Program Files (x86)\Steam
Steam.exe -applaunch 440 -fullscreen -novid -console -w 1920 -h 1200

REM pausing because steam.exe returns before TF2 quits
echo Press a key to reenable Screen 2
pause
cd C:\Program Files (x86)\12noon Display Changer\
dc64cmd.exe -monitor="\\.\DISPLAY2" -secondary
private_meta
quelle
Ihr Beitrag brachte mich auf die Idee für diese Funktion, die ich zu TvGameLauncher hinzugefügt habe. Überprüfen Sie, ob es noch relevant ist (siehe meine Antwort unten).
Ohad Schneider
Hey, ich weiß, dass diese Frage alt ist, aber ich möchte wissen, ob es eine Möglichkeit gibt, das Vorhandensein eines anderen Monitors in Windows über die Befehlszeile zu erkennen.
Durga Swaroop

Antworten:

8

Dieses Dienstprogramm kann Ihnen helfen: Display Changer :

«Display Changer ändert die Anzeigeauflösung, führt ein Programm aus und stellt dann die ursprünglichen Einstellungen wieder her. Es kann auch die Auflösung dauerhaft ändern und die Monitore in einem Setup mit mehreren Monitoren neu anordnen »

Funktioniert in der GUI oder Befehlszeile und ist für den persönlichen Gebrauch kostenlos ...

http://12noon.com/?page_id=80

Ich hoffe das hilft. Lass uns wissen.

Climenole
quelle
Upvote für eine gute Antwort, aber es wird nicht so funktionieren. Ich versuche auf diese Weise ein Steam-Spiel zu starten. Das Starten über "steam: // rungameid / #" funktioniert nicht, da Sie keine ausführbare Datei erhalten. Das Ausführen von steam.exe mit der Option -applaunch # ändert die Auflösung, startet das Spiel nicht und wechselt sofort wieder (so schnell, dass Sie es kaum sehen). Das direkte Ausführen der ausführbaren Spieldatei führt zu einem Ladefehler. Gute Idee, aber es hat nicht funktioniert.
private_meta
Aber ich habe gerade festgestellt, dass ich mit dem anfänglichen Befehl eine Batch-Datei erstellen kann, um zu einem Bildschirm zu wechseln, das Spiel in einer separaten Befehlszeile zu starten und dann nach Beendigung des Programms wieder zu wechseln, alles innerhalb eines Batches, was theoretisch funktionieren sollte. Ich muss das versuchen.
private_meta
Okay. Sagen Sie uns, ob dies für Sie funktioniert. Wenn der Stapel gut funktioniert, können Sie ihn so kompilieren, dass er eine EXE-Datei enthält. Beispiel: batchcompiler.sourceforge.net :)
Climenole
Vielen Dank. Das funktioniert einwandfrei, außer dass Steam.exe sofort zurückkehrt, also muss ich "Pause" verwenden, sonst funktioniert der Stapel nicht.
private_meta
8

Vielen Dank an Bill Rodmans Kommentar in diesem Thread.

Ich kombiniere dieses Dienstprogramm mit dem Windows7-Befehl DisplaySwitch.exe: "C: \ Windows \ System32 \ DisplaySwitch.exe / internal", um ausschließlich zum Hauptmonitor zu wechseln. - Bill Rodman 29. Januar 10 um 12:17 Uhr

Wenn Sie dies testen, ruft dies auf und wählt sofort den Bildschirm aus, den Sie über das auswählen möchten.

  • / internal ruft den internen Bildschirm auf (Ihre primäre Anzeige)
  • / externe Änderungen am externen Bildschirm (ich bin nicht sicher, wie gut es funktioniert, wenn mehr als 1 Bildschirm vorhanden ist)
  • / Klon dupliziert Anzeigen.
  • / verlängern schaltet auf erweiterte Einstellungen um.

Da dies einen Dateipfad aufruft, hängen Sie diesen einfach an Ihr Batch-Skript an und ändern Sie die Anzeige sofort und effektiv. Eine gute Idee wäre, diesen Togethor in die Windows Task Scheduler-Benutzeroberfläche einzufügen, da Sie den Dateipfad aufrufen und ihm die Argumente geben können. Wenn Ihr TF2-Ereignis eintritt, wechselt die Anzeige immer.

Jouster500
quelle
Funktioniert ohne Administratorrechte, funktioniert mit 1 Klick Abstand.
m3nda
Wenn Sie es ohne Argumente aufrufen, wird die Seitenleiste mit den vier Optionen angezeigt.
José Tomás Tocino
6

Sie standen NirCmd nahe, aber was Sie suchen, ist Nirs MultiMonitorTool :

MultiMonitorTool ist ein kleines Tool, mit dem Sie einige Aktionen ausführen können, die mit der Arbeit mit mehreren Monitoren zusammenhängen. Mit MultiMonitorTool können Sie Monitore deaktivieren / aktivieren, den primären Monitor einstellen, die Konfiguration aller Monitore speichern und laden und Fenster von einem Monitor auf einen anderen verschieben. Sie können diese Aktionen über die Benutzeroberfläche oder über die Befehlszeile ausführen, ohne die Benutzeroberfläche anzuzeigen. MultiMonitorTool bietet auch ein Vorschaufenster, in dem Sie eine Vorschau jedes Monitors auf Ihrem System anzeigen können.

Das 12noon-Tool sieht gut aus, aber abgesehen von einem offiziellen MS-Tool werde ich NirSoft jeden Tag über jedes andere Tool übernehmen.

Schamloser Plug: Möglicherweise interessiert Sie das TvGameLauncher- Tool, das ich genau für diesen Zweck geschrieben habe (Umschalten der primären Anzeigen zum Spielen). Es kann auch auf HDMI-Audio umschalten und verhindern, dass der Bildschirmschoner während der Wiedergabe auftaucht (ohne ihn zu deaktivieren). Es unterstützt sogar das Steam-Protokoll ( Steam://), sodass Sie den pauseTrick nicht anwenden müssen. Das Deaktivieren Ihrer anderen Monitore wird zwar nicht unterstützt, aber ich werde das zu meiner Aufgabenliste hinzufügen (ich habe einige andere coole Funktionen wie die automatische Generierung von TV-Verknüpfungen).

Bearbeiten - alle Funktionen hinzugefügt. Hör zu!

Ohad Schneider
quelle
1
NirSoft rockt. Ich musste nur eine Lösung finden, um meine Monitore zu wechseln. Ich habe ein Zwei-Monitor-Setup, wenn einer von ihnen ein und der andere ausgeschaltet ist. Also kein ausgefallener erweiterter Desktop-Modus usw. Mit MultiMonitorTool habe ich jetzt nur noch einen einzigen Einzeiler, MultiMonitorTool.exe /switch 1 /switch 2der den aktuell laufenden Monitor ausschaltet und gleichzeitig den anderen ausschaltet. Ich habe diesen Befehl auf die Makrotaste meiner Tastatur gesetzt und jetzt werden die Monitore mit einem einzigen Tastendruck umgeschaltet!
Neurotransmitter
MultiMonitorTool funktionierte bei mir mit verschiedenen Konfigurationen von 3 Monitoren schlecht: einige deaktiviert, geklont usw. Einige Konfigurationen mit einer Auflösung von 0x0 wurden angewendet, was dazu führte, dass das Nvidia-Kontrollfeld nicht geöffnet werden konnte.
NateS
3

Obwohl mir klar ist, dass dies ein alter Thread ist, ist das Umschalten zwischen den Anzeigemodi in Windows 10 mithilfe der standardmäßig verfügbaren Tools möglich. Das Problem, auf das ich stieß, war, dass es keinen "klaren" Mechanismus gab, der erkennen konnte, dass die Anzeige erweitert oder geklont war. Hier ist mein funktionierender Prototyp in PowerShell:

#ext_or_clone.ps1
#Toggle between Extend and Clone displays
#requires PowerShell 3

#Load Windows Forms .Net class
#if PowerShell < 3 use this instead: [reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null
Add-Type -AssemblyName System.Windows.Forms

#check the width of the virtual display, the "mode" width 
$currDispMode = [System.Windows.Forms.SystemInformation]::VirtualScreen.Width

#check the width of the primary display
$oneScrWidth = [System.Windows.Forms.SystemInformation]::WorkingArea.width


#compare the two widths
switch ($currDispMode)
{
    #if the widths are the same,
    # it means the displays are in clone mode, so the mode should be extend
    $oneScrWidth{displayswitch.exe /extend}

    #if the VirtualScreen width is greater than the primary screen width
    # it means displays are in extend mode, so the mode should be clone
    {$_ -gt $oneScrWidth}{displayswitch.exe /clone}
}
DTE-IT
quelle
1

Ein weiterer guter ist wsdisplaysettings. Befehlszeilentool zum Einrichten von Anzeigen nach Ihren Wünschen. Kann zur Vereinfachung auch Einstellungsdateien erstellen.

John
quelle
Stürzt in etwa 80% der Fälle unter Windows 10 ab. Die anderen 20% funktionieren.
NateS
1

Die WS-Anzeigeeinstellungen von WizardSoft sind ein hübsches kleines Tool und für Befehlszeilen-Neulinge recht einfach zu verwenden:

Befehlszeilentool zum Speichern und Wiederherstellen der Windows-Anzeigeeinstellungen in und aus der Datei. Einfache Einrichtung mit mehreren Monitoren. Erstellen Sie Voreinstellungen für Laptop, Fernseher, Monitor und Beamer. Es kann die genaue binäre Darstellung der aktuellen Windows-Anzeigeeinstellungen speichern und wiederherstellen.

Was ich wollte, war eine Verknüpfung zum Umschalten auf Erweitert und eine andere, um zur Einzelanzeige zurückzukehren. Nach 30 Minuten herumspielen - Erfolg!

Ich habe Windows 7 verwendet und nach dem Lesen können readme.txtSie dies auch problemlos einrichten.

Die einfachste Möglichkeit, das Tool zu verwenden, besteht darin, die aktuellen Anzeigeeinstellungen in einer Datei mit zu speichern

WsDisplaySettings.exe -save filename.dis

und laden und wenden Sie die Einstellungen mit an

WsDisplaySettings.exe filename.dis

Es gibt auch erweiterte Funktionen, wie in der Readme-Datei erläutert.

Wenn ich ein Geschäft führen würde, würde ich für das Programm bezahlen! (Es ist kostenlos für den persönlichen Gebrauch.)

Andrew
quelle
2
Willkommen bei Super User! Bitte lesen Sie, wie Sie Software in Antworten empfehlen können , insbesondere in Fettdruck . Bearbeiten Sie dann Ihre Antwort, um den dortigen Richtlinien zu folgen. Vielen Dank!
Bertieb
1

Sie können DisplaySwitch.exe /internaldie Anzeigeeinstellungen ändern, um nur Ihren primären Monitor zu verwenden, und DisplaySwitch.exe /extendum zu Ihrem Multi-Monitor-Setup zurückzukehren. Mehr Infos hier . Funktioniert auch unter Windows 10.

Jake Reece
quelle