Modifica la disposizione del display tramite batch / riga di comando su Windows 7


12

Voglio cambiare la disposizione del display del mio computer tramite la riga di comando. Ho 2 monitor impostati, estendibili e desidero modificare l'impostazione dei monitor da Dual Display a Single Display e viceversa tramite riga di comando.

Ho dato un'occhiata a QRes e nircmd. Mentre QRes non supporta completamente il multimonitor, nircmd non può disabilitare un monitor, ma cambia solo lo stato primario e la risoluzione di schermi separati.

Sarebbe apprezzato se si conoscesse un modo per farlo.

Modifica: pubblicherò qui la mia soluzione utilizzando il cambia display nella risposta climenoles:

@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

Il tuo post mi ha dato l'idea di questa funzione che ho aggiunto a TvGameLauncher. Dai un'occhiata se è ancora pertinente (vedi la mia risposta di seguito).
Ohad Schneider,

Ehi, so che questa domanda è vecchia ma voglio sapere se esiste un modo per rilevare la presenza di un altro monitor in Windows dalla riga di comando?
Durga Swaroop,

Risposte:


8

Questa utility può aiutarti: Cambia display :

«Display Changer modifica la risoluzione del display, esegue un programma, quindi ripristina le impostazioni originali. Può anche modificare la risoluzione in modo permanente e riorganizzare i monitor in una configurazione a più monitor »

Funziona nella GUI o nella riga di comando ed è gratuito per uso personale ...

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

Spero che questo aiuto. Facci sapere.


Valuta una buona risposta, ma non funzionerà in questo modo. Sto cercando di lanciare un gioco Steam in quel modo. Il lancio tramite "steam: // rungameid / #" non funziona in quanto non ti dà alcun eseguibile. l'esecuzione di steam.exe con l'opzione -applaunch # modifica la risoluzione, non avvia il gioco e torna immediatamente indietro (così velocemente che difficilmente lo vedi). l'esecuzione del gioco eseguibile porta direttamente a un errore di caricamento. Bella idea, ma non ha funzionato.
private_meta,

Ma ho appena capito che posso creare un file batch con il comando iniziale per passare a una schermata, avviare il gioco in una riga di comando separata e poi tornare indietro dopo il termine del programma, tutto all'interno di un batch, che dovrebbe teoricamente funzionare. Dovrò provarlo.
private_meta,

Va bene. Dicci se questo funziona per te. Se il batch funziona bene, puoi compilarlo per avere un file .exe Con questo ad esempio: batchcompiler.sourceforge.net :)
climenole,

Grazie. Funziona perfettamente, tranne per il fatto che steam.exe ritorna immediatamente, quindi devo usare "pause" o il batch non funzionerà.
private_meta,

8

Grazie mille al commento di Bill Rodman in questa discussione.

Combino questa utility con il comando DisplaySwitch.exe di Windows 7: "C: \ Windows \ System32 \ DisplaySwitch.exe / interno" per passare in modo esclusivo al monitor principale. - Bill Rodman, 29 gennaio 10 alle 12:17

Provando questo, questo chiama e seleziona immediatamente lo schermo da scegliere tramite.

  • / internal chiama lo schermo interno (il tuo display principale)
  • / modifiche esterne allo schermo esterno (non sono sicuro di come gestisca quando c'è più di 1 schermo)
  • / clone visualizza duplicati.
  • / extension passa alle impostazioni estese.

Poiché questo sta chiamando un percorso di file, è sufficiente collegarlo allo script batch e al baboom, cambiando la visualizzazione istantanea ed efficace. Una buona idea sarebbe quella di mettere insieme questo togethor nell'interfaccia utente dell'Utilità di pianificazione di Windows poiché puoi chiamare il percorso del file e dargli gli argomenti, quindi ogni volta che si verifica l'evento TF2, il display cambierà sempre.


Funziona senza diritti di amministratore, funziona a 1 clic di distanza.
m3nda,

Chiamandolo senza argomenti mostra la barra laterale con le quattro opzioni.
José Tomás Tocino,

6

Eri vicino con NirCmd, ma quello che stai cercando è di Nir MultiMonitorTool :

MultiMonitorTool è un piccolo strumento che consente di eseguire alcune azioni relative all'utilizzo di più monitor. Con MultiMonitorTool è possibile disabilitare / abilitare i monitor, impostare il monitor principale, salvare e caricare la configurazione di tutti i monitor e spostare le finestre da un monitor all'altro. È possibile eseguire queste azioni dall'interfaccia utente o dalla riga di comando, senza visualizzare l'interfaccia utente. MultiMonitorTool fornisce anche una finestra di anteprima, che consente di guardare un'anteprima di ogni monitor sul proprio sistema.

Lo strumento 12noon sembra carino, ma a parte uno strumento MS ufficiale, porterò NirSoft su qualsiasi altro strumento ogni giorno.

Spina senza vergogna: potresti essere interessato allo strumento TvGameLauncher che ho scritto esattamente per questo scopo (cambiare display principale per giocare). Può anche passare all'audio HDMI e impedire che lo screensaver appaia durante la riproduzione (senza disabilitarlo). Supporta anche il protocollo Steam ( Steam://), quindi non è necessario utilizzare il pausetrucco. Tuttavia, non supporta la disabilitazione degli altri monitor, ma lo aggiungerò alla mia lista di cose da fare (ho altre funzionalità interessanti come la generazione automatica di collegamenti TV).

Modifica: tutte le funzionalità aggiunte. Controlla!


1
NirSoft Rock. Ho dovuto solo trovare una soluzione per cambiare i miei monitor. Ho una configurazione a due monitor, quando uno di essi è acceso e l'altro è spento. Quindi nessuna modalità desktop estesa di fantasia ecc. Con MultiMonitorTool, ora ho solo una linea singola: MultiMonitorTool.exe /switch 1 /switch 2che spegne il monitor attualmente in esecuzione e allo stesso tempo ne disattiva altri. Ho messo questo comando sul tasto macro della mia tastiera e ora i monitor vengono commutati tramite un solo tasto!
Neurotrasmettitore

MultiMonitorTool ha funzionato male per me con diverse configurazioni di 3 monitor: alcuni disabilitati, clonati, ecc. Ha applicato alcune configurazioni con una risoluzione di 0x0, il che ha impedito l'apertura del pannello di controllo di Nvidia.
NateS

3

Mentre mi rendo conto che questo è un vecchio thread, è possibile alternare tra le modalità di visualizzazione in Windows 10 utilizzando gli strumenti disponibili per impostazione predefinita. Il problema che ho riscontrato era che non esisteva un meccanismo "chiaro" per dire che il display era esteso, contro clonato. Ecco il mio prototipo funzionante 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}
}

1

Un altro è buono wsdisplaysettings. Lo strumento da riga di comando per l'impostazione viene visualizzato a proprio piacimento. Può anche creare file di impostazioni per comodità.



Si blocca circa l'80% delle volte su Windows 10. Funziona l'altro 20%.
NateS

1

WS Display Settings di WizardSoft è un piccolo strumento pulito e abbastanza semplice da usare per i neofiti della riga di comando:

Strumento da riga di comando per salvare e ripristinare le impostazioni di visualizzazione di Windows da e verso il file. Facile configurazione multi-monitor. Crea preset per laptop, tv, monitor e videoproiettore. Può salvare e ripristinare l'esatta rappresentazione binaria delle attuali impostazioni di visualizzazione di Windows.

Quello che volevo era una scorciatoia per passare a estesa e un'altra per tornare alla visualizzazione singola. Dopo 30 minuti di gioco, successo!

Ho usato Windows 7 e dopo aver letto readme.txtpotresti facilmente impostare anche questo.

Il modo più semplice di utilizzare lo strumento è salvare le impostazioni di visualizzazione correnti in un file con

WsDisplaySettings.exe -save filename.dis

e carica e applica le impostazioni con

WsDisplaySettings.exe filename.dis

Ci sono anche funzionalità più avanzate, come spiegato nel file Leggimi.

Se gestissi un'azienda pagherei per il programma! (È gratuito per uso personale.)


2
Benvenuto in Super User! Leggi come raccomandare il software nelle risposte , in particolare i bit in grassetto ; quindi modifica la tua risposta per seguire le linee guida lì. Grazie!
bertieb,

1

È possibile utilizzare DisplaySwitch.exe /internalper modificare le impostazioni di visualizzazione per utilizzare solo il monitor principale e DisplaySwitch.exe /extendper tornare alla configurazione multi-monitor. Maggiori informazioni qui . Funziona anche su Windows 10.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.