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


28

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

Estou acessando-os através de um laptop antigo com resolução 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 monitores de baixa resolução.

Seria ótimo se houvesse uma maneira de fazer isso na linha de comando. Ou talvez haja uma maneira de fazer malha ao vivo. Alguma ideia?

Respostas:


30

Use QRes e diga:

QRes.exe /x:800 /y:600

Um pequeno utilitário que faz exatamente o que eu preciso.
Bill Rodman

5
Combino esse utilitário com o comando Windows7 DisplaySwitch.exe: "C: \ Windows \ System32 \ DisplaySwitch.exe / internal" para alternar exclusivamente para o monitor principal.
Bill Rodman

O Displayswitch.exe também possui parâmetros de linha de comando que permitem criar um atalho que definirá um modo de exibição específico. / interno / clone / estender / externo
JJS

5
Não funciona com o Windows x64.
Fantius

A versão mais recente parece funcionar bem no Windows 10 de 64 bits. - Não parece ser uma maneira de abordar e monitorar individualmente. Sempre funciona apenas na tela principal. - O hack que os outros postaram (DisplaySwitch uso) parece que pode funcionar, desde que você só tem dois monitores ...
BrainSlugs83

17

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

nircmd.exe setdisplay 1024 768 24

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


1
se você estiver usando um laptop como o meu que não suporta cores de 24 bits. Talvez seja necessário alterar o conjunto de 24 para 32 - nircmd.exe setdisplay 1024 768 32
Julian

Por que não é alterado permanentemente? Mas temporário sendo aplicado?
YumYumYum

7

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

Descobri que a melhor maneira de invocá-lo 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)

Em seguida, na linha de comando ou Iniciar-> Executar, você pode invocar o segundo script do Powershell, que eu nomeei Invoke-Set-ScreenResolution.ps1assim (o -noexitparâmetro é bom para depuração, mas você pode removê-lo posteriormente, dependendo da janela de comando fechar):

powershell -noexit -ExecutionPolicy Bypass & C:\[your-path]\Invoke-Set-ScreenResolution.ps1

1
Exatamente o que o médico assinou, muito obrigado!
Larphoid 20/0318

5

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

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

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

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

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



-> Startup Delayer:
http://www.snapfiles.com/php/download.php?id=103272&a=7130353&tag=7329208&loc=2

-> DesktopOK
http://www.softwareok.com /?Download=DesktopOK&goto=../Download/DesktopOK.zip

Instale o Startup Delayer e coloque o DesktopOK onde quiser, usei minha pasta 'user'. Organize sua área de trabalho,

No DesktopOK, vá para Opções e marque "Restaurar pela inicialização do Windows", clique com o botão direito do mouse no recém-criado "Layout de ícone" e clique em "Usar isto para: Restaurar na inicialização do Windows".
Neste ponto, você também precisará marcar "Iniciar o DesktopOK com o Windows". As duas opções posteriores serão desmarcadas automaticamente pelo Inicializador mais tarde.

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

Agora, há apenas uma coisa a fazer, crie seu arquivo em lotes 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 pasta de inicialização, o motivo pelo qual o processo é tão extenso com os ícones é porque o DesktopOK não pode lidar com a opção de resolução e deseja mover os ícones enquanto a resolução está sendo alterada. atrasar a inicialização do registro, e esta é a única maneira que encontrei. Não ouso afirmar que esse é o melhor caminho, mas afirmo que funciona, não encontrei outro caminho e propus o processo pessoalmente. Ele contorna todos os aspectos da situação, substituindo os ícones aos quais eles pertencem por usuário.

Obrigado por ser tão flexível da Microsoft!


4

Experimente o Display Changer 2 , que pode fazer isso, além de iniciar um programa e alterar a resolução novamente quando a execução for interrompida (que você PODE conseguir trabalhar com malha, mas YMMV)


2

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

Exemplos:

Alterar 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

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

Eu não testei sua solução, mas um para criar seu próprio :)
Thomas

Bem, acabei testando e prefiro acima das outras opções acima em termos de simplicidade. No entanto, não funcionou para mim (um problema no adaptador de vídeo do meu lado). Ainda, grande utilidade pequena!
Thomas

@ Thomas, qual foi o problema? Se você usar todos os dispositivos, ele funcionará para todos eles. Você deve ver na saída se um adaptador falhar. Nos meus casos, era sempre virtual. Posso ver se posso fornecer uma correção para isso.
Alexander Taubenkorb 30/03

1
Qual é a licença para o seu utilitário?
Michael Lucas

1
@ MichaelLucas, não existe uma licença real, mas você pode usá-la como quiser ;-) Obrigado por perguntar!
Alexander Taubenkorb

1

Enquanto alguém já mencionou o nircmd da Nirsoft, a melhor ferramenta da Nirsoft para esse fim é o MultiMonitorTool .

Ele suporta vários monitores, configurações salvas de 32 e 64 bits, alterações na resolução, ativação e orientação, etc.


As outras ferramentas mencionadas não funcionaram para mim, mas esta funcionou. Excelente ferramenta para alterar a resolução da tela rapidamente - obrigado por publicar.
Moshe Rubin

0

Digno de nota a solução através embutido wmiccomando de W INDOWS M ESTÃO eu 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"


2
Não funciona. Tentei com admin ou sem mas mesmo.
YumYumYum
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.