Zmień ustawienie wyświetlania za pomocą wiersza wsadowego / wiersza poleceń w systemie Windows 7

12

Chcę zmienić ustawienia wyświetlania mojego komputera za pomocą wiersza polecenia. Mam 2 monitory skonfigurowane, rozszerzane i chcę zmienić konfigurację monitorów z podwójnego wyświetlacza na pojedynczy wyświetlacz iz powrotem za pośrednictwem wiersza poleceń.

Przejrzałem QRes i nircmd. Podczas gdy QRes nie ma całkowicie wsparcia dla wielu monitorów, nircmd nie może wyłączyć monitora, jedynie zmienić stan podstawowy i rozdzielczość osobnych ekranów.

Byłoby mile widziane, jeśli znasz sposób, aby to zrobić.

Edycja: Zamieszczę tutaj moje rozwiązanie za pomocą zmieniacza ekranu w climenoles odpowiedź:

@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
źródło
Twój post faktycznie dał mi pomysł na tę funkcję, którą dodałem do TvGameLauncher. Sprawdź to, jeśli nadal jest aktualne (patrz moja odpowiedź poniżej).
Ohad Schneider,
Hej, wiem, że to pytanie jest stare, ale chcę wiedzieć, czy istnieje sposób na wykrycie obecności innego monitora w systemie Windows z wiersza polecenia?
Durga Swaroop

Odpowiedzi:

8

To narzędzie może ci pomóc: Display Changer :

«Display Changer zmienia rozdzielczość ekranu, uruchamia program, a następnie przywraca oryginalne ustawienia. Może także na stałe zmienić rozdzielczość i zmienić ustawienie monitorów w konfiguracji z wieloma monitorami »

Działa w GUI lub wierszu poleceń i jest bezpłatny do użytku osobistego ...

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

Mam nadzieję, że to pomoże. Powiadom nas.

klimenol
źródło
Głosuj za dobrą odpowiedzią, ale to nie zadziała w ten sposób. Próbuję w ten sposób uruchomić grę Steam. Uruchomienie go za pomocą „steam: // rungameid / #” nie działa, ponieważ nie daje żadnych plików wykonywalnych. uruchomienie steam.exe z opcją -applaunch # zmienia rozdzielczość, nie uruchamia gry i natychmiast zmienia się z powrotem (tak szybko, że ledwo ją widać). uruchomienie pliku wykonywalnego gry prowadzi bezpośrednio do błędu ładowania. Fajny pomysł, ale nie zadziałał.
private_meta
Ale właśnie zdałem sobie sprawę, że mogę utworzyć plik wsadowy z początkowym poleceniem, aby przejść do jednego ekranu, uruchomić grę w osobnym wierszu polecenia, a następnie wrócić z powrotem po zakończeniu programu, wszystko w partii, co teoretycznie powinno działać. Będę musiał tego spróbować.
private_meta
W porządku. Powiedz nam, czy to działa dla Ciebie. Jeśli partia działa dobrze, możesz ją skompilować, aby mieć plik .exe. Na przykład: batchcompiler.sourceforge.net :)
climenole
Dziękuję Ci. Działa to doskonale, z wyjątkiem faktu, że steam.exe natychmiast wraca, więc muszę użyć „pauzy”, inaczej partia nie będzie działać.
private_meta
9

Ogromne podziękowania za komentarz Billa Rodmana w tym wątku.

Łączę to narzędzie z poleceniem Windows7 DisplaySwitch.exe: „C: \ Windows \ System32 \ DisplaySwitch.exe / internal”, aby bez problemu przełączyć się na główny monitor. - Bill Rodman 29 stycznia 2010 o 12:17

Testowanie tego powoduje wywołanie i natychmiast wybiera ekran do wyboru za pomocą.

  • / internal wywołuje ekran wewnętrzny (ekran główny)
  • / zewnętrzne zmiany w ekranie zewnętrznym (nie jestem pewien, jak dobrze sobie radzi, gdy jest więcej niż 1 ekran)
  • Wyświetla / klon klonuje duplikaty.
  • / extension przełącza na rozszerzone ustawienia.

Ponieważ nazywa się to ścieżką do pliku, po prostu dołącz to do skryptu wsadowego i baboom, natychmiastowa i skuteczna zmiana wyświetlania. Dobrym pomysłem byłoby zawiązanie tego ciągu w interfejsie Windows Harmonogramu zadań, ponieważ można wywołać ścieżkę do pliku i podać argumenty, a następnie za każdym razem, gdy zdarzy się zdarzenie TF2, wyświetlanie zawsze się zmieni.

Jouster500
źródło
Działa bez uprawnień administratora, działa w odległości 1 kliknięcia.
m3nda
Wywołanie go bez argumentów pokazuje pasek boczny z czterema opcjami.
José Tomás Tocino
6

Byliście blisko z NirCmd, ale to, czego szukasz, to narzędzie Nir MultiMonitorTool :

MultiMonitorTool to małe narzędzie, które umożliwia wykonywanie niektórych czynności związanych z pracą z wieloma monitorami. Za pomocą MultiMonitorTool można wyłączać / włączać monitory, ustawiać monitor główny, zapisywać i ładować konfigurację wszystkich monitorów oraz przenosić okna z jednego monitora na drugi. Możesz wykonywać te czynności z poziomu interfejsu użytkownika lub wiersza poleceń, bez wyświetlania interfejsu użytkownika. MultiMonitorTool zapewnia również okno podglądu, które pozwala obejrzeć podgląd każdego monitora w systemie.

Narzędzie 12noon wygląda ładnie, ale z wyjątkiem oficjalnego narzędzia MS, zabiorę NirSoft nad inne narzędzie każdego dnia.

Bezwstydna wtyczka: Być może zainteresuje Cię narzędzie TvGameLauncher , które napisałem właśnie w tym celu (przełączanie głównych wyświetlaczy do grania w gry). Może także przełączyć się na dźwięk HDMI i zapobiec wyskakiwaniu wygaszacza ekranu podczas gry (bez wyłączania go). Obsługuje nawet protokół Steam ( Steam://), więc nie musisz korzystać z tej pausesztuczki. Nie obsługuje jednak wyłączania innych monitorów, ale dodam to do mojej listy rzeczy do zrobienia (mam kilka innych fajnych funkcji, takich jak automatyczne generowanie skrótów telewizyjnych).

Edytuj - wszystkie funkcje dodane. Sprawdź to!

Ohad Schneider
źródło
1
Skały NirSoft. Właśnie musiałem znaleźć rozwiązanie, aby zmienić monitory. Mam konfigurację z dwoma monitorami, gdy jeden z nich jest włączony, a drugi wyłączony. Więc nie ma żadnego fantazyjnego trybu rozszerzonego pulpitu itp. Dzięki MultiMonitorTool mam teraz tylko jedną linijkę: MultiMonitorTool.exe /switch 1 /switch 2która wyłącza aktualnie uruchomiony monitor, a jednocześnie wyłącza inną. Wpisałem to polecenie w klawisz makra mojej klawiatury i teraz monitory przełączane są jednym naciśnięciem klawisza!
Neuroprzekaźnik
MultiMonitorTool działał źle dla mnie z różnymi konfiguracjami 3 monitorów: niektóre wyłączone, sklonowane itp. Zastosował niektóre konfiguracje o rozdzielczości 0x0, co spowodowało, że Panel kontrolny Nvidia nie mógł się otworzyć.
NateS
3

Chociaż zdaję sobie sprawę, że jest to stary wątek, możliwe jest przełączanie między trybami wyświetlania w systemie Windows 10 przy użyciu domyślnie dostępnych narzędzi. Problem, na który natknąłem się, polegał na tym, że nie było mechanizmu „czystego”, który wskazywałby, że ekran był rozszerzony w porównaniu z klonowanym. Oto mój działający prototyp w 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
źródło
1

Kolejnym dobrym jest wsdisplaysettings. Narzędzie wiersza poleceń do konfigurowania wyświetlaczy według własnych upodobań. Można również tworzyć pliki ustawień dla wygody.

Jan
źródło
Awarie w około 80% przypadków w systemie Windows 10. Działa z pozostałymi 20%.
NateS
1

Ustawienia wyświetlania WS WizardSoft to zgrabne małe narzędzie i dość proste w obsłudze dla początkujących wiersza poleceń:

Narzędzie wiersza polecenia do zapisywania i przywracania ustawień wyświetlania systemu Windows do iz pliku. Łatwa konfiguracja wielu monitorów. Twórz ustawienia wstępne dla laptopa, telewizora, monitora i rzutnika. Może zapisać i przywrócić dokładną reprezentację binarną bieżących ustawień wyświetlania systemu Windows.

To, czego chciałem, to skrót do przełączenia na rozszerzony i inny, aby wrócić do pojedynczego wyświetlacza. Po 30 minutach zabawy z nim - sukces!

Użyłem systemu Windows 7 i po przeczytaniu readme.txtmożna łatwo to skonfigurować.

Najprostszym sposobem użycia tego narzędzia jest zapisanie bieżących ustawień wyświetlania w pliku za pomocą

WsDisplaySettings.exe -save filename.dis

i załaduj i zastosuj ustawienia za pomocą

WsDisplaySettings.exe filename.dis

Istnieją również bardziej zaawansowane funkcje, jak wyjaśniono w pliku readme.

Gdybym prowadził firmę, zapłaciłbym za program! (Jest bezpłatny do użytku osobistego.)

Andrzej
źródło
2
Witamy w Super User! Proszę przeczytać, jak polecać oprogramowanie w odpowiedziach , szczególnie fragmenty pogrubione ; następnie edytuj swoją odpowiedź, aby postępować zgodnie ze wskazówkami. Dzięki!
bertieb
1

Możesz użyć, DisplaySwitch.exe /internalaby zmienić ustawienia wyświetlania, aby używać tylko głównego monitora, i DisplaySwitch.exe /extendwrócić do konfiguracji wielu monitorów. Więcej informacji tutaj . Działa również w systemie Windows 10.

Jake Reece
źródło