Python изменить разрешение экрана виртуальной машины - PullRequest
3 голосов
/ 29 августа 2009

В virtualbox разрешение экрана может быть любым - даже что-то странное, например 993x451 и т. Д. Я пытался изменить его с помощью pywin32, но мне не удалось:

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

, который в итоге будет:

DISP_CHANGE_BADMODE

любая помощь?

Ответы [ 3 ]

1 голос
/ 11 сентября 2009

Вы настроили виртуальную машину для фактического объявления этого режима в ОС?

edit: VirtualBox автоматически устанавливает новые разрешения, если вы изменяете размер окна. Я полагаю, что вы можете установить подсказки для режима видео с хост-ОС (см. В документации), но вам нужно установить гостевые дополнения. Вы также можете добавить режимы VESA при использовании резервного драйвера VESA. В любом случае, похоже, что все это должно происходить с хост-ОС, чтобы гостевая ОС могла использовать ее. И не похоже, что есть простой (не cmdline, возможно, не постоянный) способ его настройки, хотя YMMV.

Я не проверял это, но команда должна быть: VBoxManage controlvm

Вы также можете установить максимальный размер экрана гостевой ОС, это можно узнать, посмотрев немного глубже: VBoxManage setextradata global GUI / MaxGuestResolution xres, yres

НТН

0 голосов
/ 30 декабря 2009

Я нашел способ сделать это, чтобы включить автоматическое изменение размера клиента из гостевой ОС. Затем в основной операционной системе программно измените размер окна виртуальной машины. Это приведет к изменению разрешения.

0 голосов
/ 29 августа 2009

У вас установлен VirtualBox для автоматической настройки окна клиента? это может вызвать некоторые проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...