# Visual C++ & C++ Programming > Graphics Programming >  Creating a Virtual Desktop in Windows ?

## John E

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...

----------


## John E

Over the Easter period I spent a day or two reading up about virtual desktops (in Windows). I was hoping to find some simple way to implement them but everything I've read makes it sound fearsomely complicated  :Frown: 

AFAICT Windows itself doesn't support running multiple desktops simultaneously and IIUC this means that to achieve virtual desktops, each desktop needs to run a complete underlying copy of Windows!! They do seem to be available from various sources - though almost always as cloud-based solutions (maybe for that very reason..?)

Anyway... if anyone knows of some simpler way to implement a virtual desktop system for Windows, do please let me know!!  :Thumb:

----------


## Steve R Jones

Microsoft has their Virtual Desktop and Oracle makes VirtualBox. You can load up as many as your desktop system can handle and the number of valid licensed copies of windows.

----------


## 2kaud

Sorry, I've never gone into virtual desktops. I just use virtual machines.

However, Windows does support multiple Stations each with multiple Desktops. Would this be of any help? See https://docs.microsoft.com/en-us/win...s-and-desktops

----------


## John E

Wow... Window Station objects - I'd never even heard of them! Thanks for tracking this down, 2kaud. And thanks Steve for that VirtualBox stuff.

----------


## MIa White

You can use VMware ( Virtual Machine ). You cannot do multiboot. It is not possible on a desktop.

----------

