2009-08-28 110 views
3

在VirtualBox中,屏幕分辨率可以是任何东西 - 甚至一些奇怪的事情像993x451,等我尝试使用pywin32它改变,但我失败::的Python更改屏幕分辨率虚拟机

>>> dm = win32api.EnumDisplaySettings(None, 0) 
>>> dm.PelsHeight = 451 
>>> dm.PelsWidth = 950 
>>> win32api.ChangeDisplaySettings(dm, 0) 
-2L 

其最终被:

DISP_CHANGE_BADMODE 

有帮助吗?

+0

什么操作系统是主机/客人? – hannson 2009-09-14 18:29:22

+0

xp – Claudiu 2009-09-15 11:45:27

回答

0

我发现要做到这一点,使客户端自动从客户操作系统调整的方式。然后,在主机操作系统中,以编程方式调整VM窗口的大小。这将导致决议更改。

0

您是否将VirtualBox设置为自动设置客户端窗口?这可能会导致一些问题。

+0

我只是试过两种方法,没有运气。 – Claudiu 2009-08-28 21:50:05

1

您是否已将虚拟机配置为将此模式实际通告给操作系统?

编辑:如果您更改窗口的大小,VirtualBox自动设置新的分辨率。您可以从我认为的主机操作系统设置视频模式提示(在文档中查找它),但是您需要安装来宾添加。您还可以在使用后备VESA驱动程序时添加VESA模式。无论哪种方式,似乎这一切都需要从主机操作系统发生,以便来宾操作系统能够使用它。尽管YMMV,它看起来并不像一个简单的(非cmdline可能不是持久的)配置方式。

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

您还可以设置最大客户机操作系统的屏幕尺寸,发现这个而寻找到它深一点: VBoxManage setextradata全球GUI/MaxGuestResolution XRES,Y残余物

HTH

+0

不 - 你知道我会怎么做吗? – Claudiu 2009-09-12 23:28:48

+0

有点儿,见上面 – wds 2009-09-14 08:34:50