Python更改虚拟机屏幕分辨率

3
在VirtualBox中,屏幕分辨率可以是任何值,甚至像993x451这样奇怪的尺寸。我尝试使用pywin32更改它,但失败了。
>>> dm = win32api.EnumDisplaySettings(None, 0)
>>> dm.PelsHeight = 451
>>> dm.PelsWidth = 950
>>> win32api.ChangeDisplaySettings(dm, 0)
-2L

最终变成了:
DISP_CHANGE_BADMODE

有需要帮忙吗?(翻译的结果)
3个回答

1

你已经配置了虚拟机以实际向操作系统广告这种模式吗?

编辑:如果更改窗口的大小,VirtualBox会自动设置新的分辨率。我相信您可以从主机操作系统中设置视频模式提示(请查看文档),但需要安装客户机附加组件。当使用回退的VESA驱动程序时,您还可以添加VESA模式。无论哪种方式,似乎所有这些都需要从主机操作系统进行,以便客户机操作系统能够利用它。而且看起来没有简单的(非命令行可能不持久)方法来配置它,尽管YMMV。

我还没有测试过,但命令应该是: VBoxManage controlvm

您还可以设置最大的客户机操作系统屏幕大小,当深入研究时发现了这一点: VBoxManage setextradata global GUI/MaxGuestResolution xres,yres

希望对您有所帮助


不好意思,你知道我该怎么做吗? - Claudiu

0
我发现的方法是启用来宾操作系统中的自动客户端调整大小功能。然后,在主机操作系统中,以编程方式调整虚拟机窗口的大小。这将导致分辨率发生变化。

0
你是否将VirtualBox设置为自动调整客户端窗口大小?这可能会导致一些问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接