I'm a huge fan of using multiple monitors and the productivity gains they bring.
I'm also a big proponent of using Virtual Machines to isolate client projects... once you get over the initial work it takes to get your VM Image library going, the productivity gains are gi-normous!
However, the lack of real multi-monitor support in Virtual PC (both 2004 and 2007) tends to limit the productivity gains you can squeeze out of your VMs. This is especially evident when using VMs as a development environment on a daily basis. I was hoping that Microsoft would address the issue and bake support into VPC 2007 - but no dice.
It is possible
... if you're willing to jump through a few hoops along the way.
People often forget that a virtual machine is still by-and-large a fully functioning computer. That means you can use all of the capabilities of the system just as if it were another beige box in your office. For example, you can Remote Desktop into a VM (assuming the OS running in has Terminal Services/Remote Desktop built in and enabled).
Remote Desktop... what?
There is an under-documented feature (I stumbled across it here) available in the latest Microsoft Remote Desktop Connection* client (RDC) that will allow you to take advantage of multiple monitors on your PC. You'll need to launch the RDC client from a command line using the /SPAN switch**, like so:
This will launch the RDC client and it will automatically take up all available screen real estate (up to 4096 x 2048 pixels) on your PC. The remote system doesn't realize you have multiple monitors, but just sees the connecting PC has having one big-ass screen.
What about Virtual PC?
So like I said... you've got to jump through some hoops to get it done, but it is do-able. Here's what you've got to do:
- Open Virtual PC
- Start a VM image (and make sure Remote Desktop is installed, enabled, and configured)
- Open RDC client using the above command line arguments
- Browse to (or enter the machine name for) your VM
- Connect...
I realize going through all of that seems like a hell of a lot of work just to get pseudo-multiple monitor support, but it will allow you to take advantage of all of that screen real estate - and hopefully result in a boon in productivity!
Other Options?
I believe that some of the other VM servers/clients out there - like the free VMware Server - already have some multi-monitor support built in, but I've not tired this myself as we seem to have settled on VPC at work. Plus, I don't like the idea of having the VMware Server process always running in the background. At least with VPC I can just fire it up when needed. Though, I could fork out the dough for VMware Workstation - but I like free stuff!
I've also thought about trying some of the desktop virtualization utilities like MaxiVista and UltraMon... but like I said, I'm a big fan of free stuff. :)