我需要将(默认)屏幕分辨率设置为托管在 VMWare vcentrum 5.5.0 中的 Win Server 2012。它是 Jenkins 运行 Windows 应用程序自动 GUI 测试的专用服务器。从 Jenkins 连接时,它的屏幕分辨率为 1024x768。我需要更高的分辨率,至少 1024px 的高度。
我迄今为止尝试过的:
从 Jenkins 运行 setres.exe
c:\windows\system32\setres.exe -w 1280 -h 1024
结果:传入的设置无法应用到图形设备。
将以下行添加到 vmx 文件
svga.autodetect = "FALSE"
svga.vramSize = "20971520"
svga.maxWidth = "1920"
svga.maxHeight = "1080"
结果:setres.exe -i 仍然返回 1024x768
使用 Win API 函数:更改显示设置,枚举显示设置
我编写了一个 C# 实用程序,它可以在 WS2003(从 Jenkins 运行)和 Win7(本地运行)上正常运行,但在 WS2012 上从 Jenkins 运行枚举显示设置返回:
Supported Modes:
1024 by 768, 32 bit, 60 hertz
1280 by 1024, 32 bit, 60 hertz
1920 by 1080, 32 bit, 60 hertz
...shortened
然而更改显示设置返回
-1 : dislplay change failed
修改注册表:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{A8405CA4-B9D8-4123-B809-D912D3B666DC}\0000
结果:无,Jenkins 连接后,它将 VidPNSource0Width 和 Height 键设置回 1024x768
有任何想法吗?
编辑:虚拟机硬件设置
答案1
- 确保虚拟机上安装了 VMTools
- 关闭虚拟机
- 转到机器的编辑设置
- 选择显卡
- 将总视频内存增加到大约 64 MB
这应该能为你提供多种可能的解决方案
答案2
在 VM 客户端设置中,只需转到图形卡适配器,“列出所有模式”,选择一种模式,单击确定,然后再次单击确定。
答案3
尝试多分辨率- 也许它会在塞特雷斯失败的地方取得成功。