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

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.


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.


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!


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}
}

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.



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.)


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.