Does anyone know if it's possible to implement virtual desktops in Windows (programmatically?) Here's the scenario...

I work on an audio product which uses a common plugin format called VST. And it's quite common for users to have a dozen or more VST plugins running simultaneously - but of course they all compete for CPU time which can slow down the main application.

There's a product available called Audiogridder which attempts to solve this by running VST's on a separate machine (i.e. over a network). It handles the audio side quite well but they've made a fundamental error in the GUI handling. Each plugin GUI gets drawn by first drawing it on the server's desktop (at position 0:0) then doing periodic screen captures and sending the info to the client machine. But because they need to get drawn at position 0:0 they can effectively only draw 1 x GUI. And they're not keen to draw at non-zero positions because ultimately, it'll end up with GUI's being off the end of the screen.

I've asked them to consider drawing to Device Contexts, rather than using the physical screen - but apparently it'd be simpler for them if they could somehow draw to virtual desktops, rather than changing everything to Device Contexts. Does anyone know if it's even possible on Windows to create virtual desktops (which are continuously updateable?) It's not something I've ever done myself so I've no idea if it's even possible...