Matt Hanson Asked: 2009-05-14 07:09:59 +0800 CST2009-05-14 07:09:59 +0800 CST 2009-05-14 07:09:59 +0800 CST 可以使用脚本更改屏幕分辨率吗? 772 我们有一个由多个用户共享的带有四个显示器的工作站。根据用户的不同,需要更改所有四台显示器的屏幕分辨率。我正在寻找一种方法来简化/自动化更改分辨率的过程,可能使用某种脚本?这可以做到吗? windows-xp screen-resolution 2 个回答 Voted Best Answer Sam Cogan 2009-05-14T07:18:14+08:002009-05-14T07:18:14+08:00 ResSwitch是一个可以做你想做的事情的工具。它是一个命令行工具,您可以发送分辨率、颜色深度和刷新率 - 例如 resswitch.exe 800 600 32 60 您可以使用设备开关来指定该命令适用于哪个设备,指定设备的名称。因此,对于 4 个监视器,您最好创建一个包含 4 个命令的批处理文件。 要获取设备的名称,您可以使用 ResCopy,它也包含在该 zip 文件中以显示它们。 Jon 2020-08-29T11:53:14+08:002020-08-29T11:53:14+08:00 #This script will change the display resolution of a remote PC #The user would only need to log off to see changes #Resolution is changed thru the registry. #The Registry path may be slightly different based on equipment type $Computer = Read-Host -Prompt 'ENTER PC NAME TO CHANGE RESOLUTION' $RES1 = Read-Host -Prompt 'ENTER FIRST RESOLUTION PARAMETER (EX. 1024)' $RES2 = Read-Host -Prompt 'ENTER SECOND RESOLUTION PARAMETER (EX. 768)' Invoke-Command -Computername $Computer -Scriptblock{ param($RES1, $RES2) "RES1: $RES1" "RES2: $RES2" $Key="HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\HWP*\00" Set-ItemProperty -Path $Key -Name PrimSurfSize.cx -Value $RES1 -Force Set-ItemProperty -Path $Key -Name PrimSurfSize.cy -Value $RES2 -Force $Key="HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\RTK*\00" Set-ItemProperty -Path $Key -Name PrimSurfSize.cx -Value $RES1 -Force Set-ItemProperty -Path $Key -Name PrimSurfSize.cy -Value $RES2 -Force $Key="HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\MSH*\00" Set-ItemProperty -Path $Key -Name PrimSurfSize.cx -Value $RES1 -Force Set-ItemProperty -Path $Key -Name PrimSurfSize.cy -Value $RES2 -Force }-ArgumentList $RES1, $RES2 POWERSHELL -NOEXIT
ResSwitch是一个可以做你想做的事情的工具。它是一个命令行工具,您可以发送分辨率、颜色深度和刷新率 - 例如
resswitch.exe 800 600 32 60
您可以使用设备开关来指定该命令适用于哪个设备,指定设备的名称。因此,对于 4 个监视器,您最好创建一个包含 4 个命令的批处理文件。
要获取设备的名称,您可以使用 ResCopy,它也包含在该 zip 文件中以显示它们。