2009-12-30 11:12:38 +0000 2009-12-30 11:12:38 +0000
28
28

有什么方法可以通过命令行改变Windows屏幕分辨率吗?

我正在使用微软的Live Mesh程序远程访问一台运行Windows 7的电脑,运行在2个屏幕上:一个是1920x1080,另一个是1920x1200分辨率。

如果能有一个命令行的方式来实现这个功能就好了。或者说,也许有一种方法可以通过实时网格来实现。有什么想法吗?

答案 (7)

30
30
30
2009-12-30 11:48:39 +0000

QRes ,然后说,

QRes.exe /x:800 /y:600
```。
17
17
17
2009-12-30 13:57:24 +0000

要将显示器改成1024 x 768的24位色深:

nircmd.exe setdisplay 1024 768 24

nircmd.exe还有其他非常多的功能。

8
8
8
2018-01-12 19:01:12 +0000

我找到了一个由Microsoft Technet提供的Windows Powershell脚本样本,它可以改变屏幕分辨率。

我发现最好的调用方法是通过一个单独的Powershell脚本,看起来像这样。

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

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

(注意我把微软的脚本保存为Set-ScreenResolution.ps1)

然后从命令行或Start->Run你可以调用第二个Powershell脚本,我把它命名为Invoke-Set-ScreenResolution.ps1,就像这样(-noexit参数一开始是用来调试的,但你可能会想把它去掉,这取决于你是否想关闭命令窗口):

powershell -noexit -ExecutionPolicy Bypass & C:\[your-path]\Invoke-Set-ScreenResolution.ps1
5
5
5
2011-07-08 08:59:02 +0000

我在启动时使用了Qres.exeSleep.exe的组合,在启动时的批处理文件中(把这两个文件放在你的Windows文件夹中),在2个用户之间改变分辨率。 …..请继续阅读。你还需要两个下载:

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

安装Startup Delayer,然后把 DesktopOK 放在你喜欢的地方,我用的是我的 “用户 "文件夹。在DesktopOK中,在 "选项 "中勾选 "通过Windows启动还原",右键点击 "图标布局",然后点击 "在Windows启动时使用这个还原"。 此时你还需要勾选 "用windows启动时还原"。

现在在 "启动延迟器 "中找到 "DesktopOK",然后右击 "延迟"。

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

当然你需要把它放到你的启动文件夹里,之所以要用图标的过程如此繁多,是因为DesktopOK无法处理分辨率的切换,想在改变分辨率的同时移动图标,所以我们需要延迟注册表的启动,这是我找到的唯一方法。我不敢宣称这是最好的方法,但我确实宣称这个方法很管用,我没有找到其他的方法,这个过程是我自己想出来的。它通过将图标替换到每个用户的位置,从而绕开了各方面的情况。

感谢微软如此灵活的做法!

4
4
4
2009-12-30 11:43:39 +0000

试试Display Changer 2,它可以做到这一点,也可以启动一个程序,并在程序停止运行时改变分辨率(你可以用mesh来改变分辨率,但YMMV

2
2
2
2016-05-07 11:56:42 +0000

虽然有人已经提到过Nirsoft的nircmd,但Nirsoft公司的最佳工具是MultiMonitorTool

2
2
2
2016-03-01 09:37:22 +0000

没有任何一个工具能满足我的需求,所以我想出了自己的解决方案。ChangeScreenResolution.exe

exe ]&003

*示例: * 改变所有显示器的屏幕分辨率为800x600px

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

将所有显示器的屏幕分辨率改为800x600px,刷新率为60Hz,颜色深度为32bit

ChangeScreenResolution.exe /b=16 /d=1

设置显示器的颜色深度为16bit

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)

快速概述选项:

&001