Windows Virtual PC and Screen Resizing

Windows Virtual PC and Screen Resizing

  • Comments 22


For as long as I can remember – Virtual PC has allowed you to resize the virtual machine window and have the guest operating system change its screen resolution automatically.  The way this is done is that once you finish resizing the virtual machine window, we send a message into an integration service inside the virtual machine that in turn requests a desktop resolution change, just like a user changing the desktop resolution manually.

This works because of the excellent support in Windows for changing screen resolutions on the fly*.

Unfortunately, Remote Desktop (which is used by Windows Virtual PC) does not support changing screen resolutions on the fly.  In order to maintain the same level of functionality in Windows Virtual PC as with earlier versions of Virtual PC a new approach had do be tried.

If you do not have integrated mode enabled we continue to change the guest operating system desktop resolution like we always have.  If you do have integrated mode enabled we will instead break the Remote Desktop connection and create a new one at the new window resolution.

The can be a bit disconcerting – as it is not uncommon to see a momentary login screen while the new connection is created.  But you can rest assured that there is no potential for data loss / application disruption.  An easy way to think of this is to imagine what happens if you are using Remote Desktop to connect to a physical computer and the network gets disconnected – forcing you to reconnect to the remote computer.  When this happens everything will be just as you left it – because Windows maintains your login session even though you are not connected.  The same thing happens with Windows Virtual PC.

The important thing here is that even though different methods are used, whether you have integrated mode enabled or not you can always easily resize the virtual machine window and have the guest operating system adapt to your new window size.

* A little side story here.  When I started working at Connectix as a tester on Virtual PC I remember seeing a number of interesting bugs with virtual machine screen resizing which were a result of the fact that support for changing screen resolutions without reboot was not very reliable in Windows 95.  Thankfully all of these issues were sorted out by Windows 98 and this has been rock solid for every Windows release since then.

Cheers,
Ben

Leave a Comment
  • Please add 3 and 1 and type the answer here:
  • Post
  • I have an issue with this. When I resize or go to full screen it makes my VM login again, which disconnects my VPN software. This is a massive issue for me as everything in that VM relies on the VM connection being up, and the VPN software doesn't allow auto-connection or storing of passwords :-(

  • Me again,

    I just disabled Integration Features and this problem no longer exists. It sounds obvious, but so far disabling these features seems to make everything work similar to the old Virtual PC.

    Obviously Integration Features are nice to have, but I guess if you have them turned on you should launch apps from the host start menu and never actually load the full VM window. If you want to work on a VM as if it's an alternative desktop, then disable integration features (unless you're happy to put up with the serious design flaw regarding window resizing).

  • how can i set the screen size excact to 1024 x 768 in a virtual PC ?

  • how can i set the screen size excact to 1024 x 768 in a virtual PC ?

  • oke i found it. Disabled Integration restart logon resize restart enable Integration

  • Is there any way to "lock" a particular window size, so that i can no longer accidentally resize it?

  • Your statement ' But you can rest assured that there is no potential for data loss / application disruption.' turned out to be false for me. If you are accessing the local drive through the VPC while changing screen resolution, it can temporarily severe the connection to the physical disk. Happened to me and with an Access database. I was saving it to the physical C drive of the host when I changed resolution. Lost host connection and database ended up in a partially saved state and severely corrupted.

    Why does changing resolution need to change anything? Because that's the way RD works, or doesn't work? That's a dumb reason. I can think of no purpose to this behavior and hope that it changes.

Page 2 of 2 (22 items) 12