我需要开发一个固定分辨率的 Windows 应用 UI — 不管它是否有意义,客户都需要它。我使用 Windows Server 2003 VirtualBox VM 作为开发环境;我的主机分辨率要高得多。
有没有办法选择并修复操作系统分辨率并阻止 VirtualBox 通过任何类型的缩放来更改它?当我在客户操作系统上打开显示属性时,我看不到请求的分辨率。
答案1
所以我尝试了这个,可能对你有用。在 Machine 菜单下,有一个选项可以自动调整客户操作系统的分辨率以适合您使用的显示器。我通过启用此选项获得了你想要的分辨率,手动调整窗口大小以获得我想要的分辨率,然后禁用自动调整大小。然后,它“卡”在那里,我可以调整窗口大小,移动它,分辨率不会改变。唯一的问题是任务栏。当你调整大小时,最小化它可能会有所帮助以获得精确的分辨率
答案2
对于我的设置,无论是CustomVideoMode1
还是setvideomodehint
还是都MaxGuestResolution
不起作用。因此,我查找了
vboxmanage getextradata $YOUR_VM_NAME enumerate
并改变了
Key: GUI/LastGuestSizeHint, Value: 800,600
到
Key: GUI/LastGuestSizeHint, Value: 1920,1080
和
vboxmanage setextradata $YOUR_VM_NAME GUI/LastGuestSizeHint 1920,1080
答案3
在虚拟机运行时,使用以下命令定义自定义分辨率:
vboxmanage setextradata "[VM NAME]" CustomVideoMode1 1600x900x32
在虚拟机运行时,执行以下命令切换到新的分辨率:
vboxmanage controlvm "[VM NAME]" setvideomodehint 1600 900 32
它应该立即切换到新的分辨率。
为了使其正常工作,您必须在虚拟机中安装 VirtualBox Guest Extensions。
答案4
即使安装了 Guest Additions,我的远程 Windows 也无法提供我想要的 1920x1080,因此我使用了这个解决方案
vboxmanage startvm "mymachine";vboxmanage controlvm "mymachine" setvideomodehint 1920 1080 32