How would I create a new desktop in C++? I know the CreateDesktop() API but it does not load memus or explorer.exe for the matter. If not to much trouble would love an example to make a desktop with menus.Answer1:
Take a look at <a href="http://msdn.microsoft.com/en-us/library/ms682573(VS.85).aspx" rel="nofollow">Window Stations</a>, this may be what your looking for.
However, this also is different from a <a href="http://www.ditii.com/2007/07/24/basics-of-sessions-desktops-and-windows-stations/" rel="nofollow">session</a> (UAC).
The source code for how to programtically do this is included as part of <a href="http://jobobjectwrapper.codeplex.com/" rel="nofollow">this</a> project (<a href="http://jobobjectwrapper.codeplex.com/" rel="nofollow">JobObjectWrapper</a>).
Hey actually, I'm wrong, JobObjectWrapper only <em>secure's</em> that interface, the other answerer here was correct, <a href="https://stackoverflow.com/questions/472161/moving-applications-between-desktops-in-windows" rel="nofollow">another question</a> had the same <a href="http://virtuawin.sourceforge.net/" rel="nofollow">answer</a>, virtuawin is open soure too.Answer2:
Take a look at <a href="http://virtuawin.sourceforge.net/downloads.php" rel="nofollow">virtuawin</a> (Open source)
<a href="http://virtuawin.sourceforge.net/img/home/screen_1.jpg" rel="nofollow">VirtuaWin http://virtuawin.sourceforge.net/img/home/screen_1.jpg</a><blockquote>
VirtuaWin is a virtual desktop manager for the Windows operating system (Win9x/ME/NT/Win2K/XP/Win2003/Vista). A virtual desktop manager lets you organize applications over several virtual desktops (also called 'workspaces'). Virtual desktops are very common in Unix/Linux, and once you get accustomed to using them, they become an essential part of a productive workflow.</blockquote>