Alguma maneira de alterar a resolução da tela do Windows via linha de comando?

26

Estou usando o programa Live Mesh da Microsoft para acessar remotamente um PC com Windows 7, rodando em duas telas: uma com 1920x1080 e outra com resolução de 1920x1200.

Estou acessando-os por meio de um laptop antigo com resolução de 1024x1078. O resultado são ícones / comandos tão pequenos que é difícil tentar alterar a resolução da tela de 2 monitores de alta resolução para o monitor de baixa resolução.

Seria ótimo se houvesse uma maneira de fazer isso na linha de comando. Ou talvez haja um caminho através da malha viva para fazê-lo. Alguma idéia?

    
por Bill Rodman 30.12.2009 / 12:12

8 respostas

29

Use QRes e diga

QRes.exe /x:800 /y:600
    
por 30.12.2009 / 12:48
17

A ferramenta freeware nircmd pode fazer isso.
Para alterar a exibição para 1024 x 768 com uma profundidade de cor de 24 bits:

nircmd.exe setdisplay 1024 768 24

O nircmd também possui outras funções muito numerosas.

    
por 30.12.2009 / 14:57
4

Teste o Modificador de exibição 2 , que pode fazer isso, além de iniciar um programa e alterar a resolução quando parar executando (o que você pode ser capaz de trabalhar com malha, mas YMMV)

    
por 30.12.2009 / 12:43
4

Eu usei uma combinação de Qres.exe e Sleep.exe (coloque-os na pasta do Windows) em arquivos de lote de inicialização para alterar a resolução entre dois usuários. O script atual é o seguinte:

@echo off
sleep 2
QRes.exe /x:1280 /y:960

(Considerando que a cópia de baixa resolução é Qres.exe /x:800 /y:600 )

----------------------------- -------------------------------------------------- ------------------------------------------------
------------------------------------------------- -------------------------------------------------- ----------------------------

Se você quiser que seus ícones fiquem onde você os deseja ... continue lendo.
Você precisará de mais dois downloads:



- > Startup Delayer:
link

- > DesktopOK
link

Instale o Delayer de Inicialização e coloque o DesktopOK onde quiser, usei minha pasta 'usuário'. Organize sua área de trabalho, como você deseja que ela esteja em todas as reinicializações.

No DesktopOK, acesse Opções e marque "Restaurar pelo Windows Startup", clique com o botão direito no novo "Icon Layout" e clique em "Usar isto para : Restaurar no Windows Startup ".
Neste ponto, você também precisará verificar" Iniciar o DesktopOK com o Windows ". As duas opções posteriores serão desmarcadas automaticamente pelo Delayer de Inicialização mais tarde.

Agora localize DesktopOK no Startup Delayer e clique com o botão direito do mouse em "Delay".

Agora há apenas uma coisa a fazer, criar seu arquivo de lote de inicialização.

@echo off
sleep 2
QRes.exe /x:1280 /y:960
sleep 1
"C:\Program Files\r2 Studios\Startup Delayer\Startup Launcher.exe" /LaunchApps=Common


É claro que você precisará colocá-lo na sua pasta de inicialização, a razão pela qual o processo é tão extenso com os ícones é porque o DesktopOK não pode lidar com a opção de resolução, e quer mover ícones enquanto a resolução está sendo alterada, então precisávamos para atrasar a inicialização do registro, e esta é a única maneira que encontrei. Não me atrevo a afirmar que esta é a melhor maneira, mas afirmo que funciona, não encontrei outra maneira, e cheguei ao processo sozinho. Ele contorna todos os aspectos da situação, substituindo os ícones pelos quais eles pertencem por usuário.

Obrigado por ser tão flexível Microsoft!

    
por 08.07.2011 / 10:59
3

Eu encontrei um exemplo de script do Windows Powershell , fornecido pela Microsoft Technet, que é capaz de alterar a resolução da tela.

A melhor maneira de invocá-lo, descobri, era de um script separado do Powershell, que se parece com isso:

## This loads the function (defined in another script)
. C:\[YOUR-PATH]\Set-ScreenResolution

## invoke with width and height
Set-ScreenResolution -Width 1680 -Height 1050

(Observe que eu salvei o script da Microsoft como Set-ScreenResolution.ps1 )

Então, a partir da linha de comando ou Start- > Run, você pode invocar o segundo script Powershell, que eu chamei Invoke-Set-ScreenResolution.ps1 assim (o -noexit param é bom no começo para depurar, mas você pode querer removê-lo mais tarde, dependendo se você deseja fechar a janela de comando):

powershell -noexit -ExecutionPolicy Bypass & C:\[your-path]\Invoke-Set-ScreenResolution.ps1
    
por 12.01.2018 / 20:01
2

Nenhuma das ferramentas já mencionadas tinha tudo o que eu precisava, então eu criei a minha própria solução: ChangeScreenResolution.exe

Exemplos:

Altere a resolução da tela de todos os monitores para 800x600px

ChangeScreenResolution.exe /w=800 /h=600

Altere a resolução da tela de todos os monitores para 800x600px com taxa de atualização de 60Hz e profundidade de cor de 32 bits

ChangeScreenResolution.exe /w=800 /h=600 /f=60 /b=32

Defina a profundidade de cores da exibição com o índice de 1 a 16 bits

ChangeScreenResolution.exe /b=16 /d=1 

Visão geral rápida das opções:

Possible options (you can set OR query)
  Setting options
    /w=<width>      Width in pixel       eg 800
    /h=<height>     Height in pixel      eg 600
    /f=<frequency>  display refresh rate eg 60
    /b=<bpp>        bits per pixel       eg 32

  Querying options
    /l              list all connected display devices
    /m              list all available mode settings

  Filtering options
    /d=<device>     devices to modify/query, separated by comma, eg:
                      all (default)
                      0 (monitor with index 0, see option /l)
                      0,2 (monitors with index 0 and 2)
                      \.\DISPLAY1 (name of display, see option /l)
    
por 01.03.2016 / 10:37
1

Embora alguém já tenha mencionado o nircmd da Nirsoft, a melhor ferramenta da Nirsoft para essa finalidade é MultiMonitorTool .

Suporta multi-monitor, configurações salvas, 32 e 64 bits, mudanças na resolução, ativação e orientação, etc.

    
por 07.05.2016 / 13:56
1

Digno de notar a solução através do comando wmic embutido de W indica M anagement I nstrumentation

wmic desktopmonitor create screenheight=1024, screenwidth=768

Embora possa resultar em:

ERROR:
Description = Provider is not capable of the attempted operation

em alguns "provedores"

    
por 02.10.2016 / 22:05