Altere o arranjo de exibição via lote / linha de comando no Windows 7

9

Eu quero alterar o arranjo de exibição do meu computador via linha de comando. Eu tenho 2 monitores configurados, estendendo e quero alterar a configuração dos monitores de Dual Display para Single Display e de volta via linha de comando.

Eu dei uma olhada no QRes e no nircmd. Enquanto o QRes não possui suporte a vários monitores, o nircmd não pode desabilitar um monitor, apenas altera o estado primário e a resolução de telas separadas.

Seria bom se você conhecesse uma maneira de fazer isso.

Editar: vou postar minha solução aqui usando o trocador de exibição na resposta climenoles:

@echo off
REM setting to single screen
echo *** Disabling Screen 2 *** 
cd C:\Program Files (x86)noon 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)noon Display Changer\
dc64cmd.exe -monitor="\.\DISPLAY2" -secondary
    
por private_meta 27.02.2012 / 17:46

6 respostas

7

Este utilitário pode ajudá-lo: Modificador de exibição :

«Display Changer changes the display resolution, runs a program, then restores the original settings. It can also change the resolution permanently and rearrange the monitors in a multiple-monitor setup»

Funciona na GUI ou na linha de comando e é gratuito para uso pessoal ...

link

Espero que esta ajuda. Deixe-nos saber.

    
por 27.02.2012 / 18:23
5

Você chegou perto do NirCmd, mas o que você está procurando é o MultiMonitorTool : do Nir:

MultiMonitorTool is a small tool that allows you to do some actions related to working with multiple monitors. With MultiMonitorTool, you can disable/enable monitors, set the primary monitor, save and load the configuration of all monitors, and move windows from one monitor to another. You can do these actions from the user interface or from command-line, without displaying user interface. MultiMonitorTool also provides a preview window, which allows you to watch a preview of every monitor on your system.

A ferramenta 12noon parece legal, mas com exceção de uma ferramenta oficial do MS, vou usar o NirSoft em qualquer outra ferramenta qualquer dia.

Plug sem vergonha: Você pode estar interessado na ferramenta TvGameLauncher que escrevi exatamente para esse fim (trocar exibições primárias por jogos ). Ele também pode alternar para o áudio HDMI e impedir que o protetor de tela apareça enquanto você está tocando (sem desabilitá-lo). Ele ainda suporta o protocolo Steam ( Steam:// ) para que você não precise usar o truque pause . Ele não suporta a desabilitação de seus outros monitores, mas eu vou adicionar isso à minha lista de afazeres (eu tenho alguns outros recursos legais surgindo como a geração automática de atalhos de TV).

Editar - todos os recursos adicionados. Confira!

    
por 27.06.2014 / 23:34
5

Um grande obrigado ao comentário de Bill Rodman neste thread.

I combine this utility with the Windows7 DisplaySwitch.exe command: "C:\Windows\System32\DisplaySwitch.exe /internal" to switch exclusevely to the main monitor. – Bill Rodman Jan 29 '10 at 12:17

Testando isso, isso chama e imediatamente seleciona a tela para escolher via.

  • / internal chama a tela interna (sua exibição principal)
  • / external muda para a tela externa (não tenho certeza de como ele lida quando há mais de uma tela)
  • / clone exibe duplicados.
  • / extend alterna para configurações estendidas.

Uma vez que isto está chamando um caminho de arquivo, simplesmente anexe isto ao seu script de lote e baboom, mudança de exibição instantânea e efetiva. Uma boa idéia seria vincular este togethor no Windows Task Scheduler UI como você pode chamar o caminho do arquivo, e dar a ele os argumentos, então sempre que seu evento TF2 acontecer, o display sempre irá alternar.

    
por 23.08.2016 / 02:30
3

Embora eu saiba que este é um segmento antigo, é possível alternar entre os modos de exibição no Windows 10 usando as ferramentas disponíveis por padrão. O problema que eu encontrei foi que não havia um mecanismo "claro" para dizer que a exibição era Estendida, vs. Clonada. Aqui está o meu protótipo de trabalho no 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}
}
    
por 23.02.2018 / 18:28
1

Outra boa é wsdisplaysettings . Ferramenta de linha de comando para configurar exibe ao seu gosto. Também pode criar arquivos de configurações por conveniência.

    
por 03.04.2016 / 17:38
1
WS Display Settings é uma ferramenta pequena e simples de usar para iniciantes na linha de comando:

Command line tool to save and restore Windows display settings to and from file. Easy multi-monitor setup. Create presets for laptop, tv, monitor and beamer. It can save and restore the exact binary representation of the current Windows display settings.

O que eu queria era um atalho para mudar para estendido e outro para voltar a exibição única. Depois de 30 minutos mexendo com isso - sucesso!

Eu usei o Windows 7 e, depois de ler readme.txt , você pode facilmente configurar isso também.

A maneira mais simples de usar a ferramenta é salvar as configurações de exibição atuais em um arquivo com

WsDisplaySettings.exe -save filename.dis

e carregar & aplique as configurações com

WsDisplaySettings.exe filename.dis

Também há recursos mais avançados, conforme explicado no arquivo leia-me.

Se eu administrasse uma empresa, pagaria pelo programa! (É grátis para uso pessoal.)

    
por 04.08.2018 / 01:50