Creating and Switching to Different Desktops

Click here for a larger image.

Environment: VC6, Win2k, WinXP

After working with systems such as Linux, I was surprised about the missing feature of virtual desktops under Windows systems.

Nevertheless, they are supported by MS, but there is currently no tool to work with them. All tools (such as Stardocks tools and NVidia tools) are limited by one very important feature: If an application on an active screen is blocking, the whole switch is impossible. Son I wrote a little program to handle virtual desktops.

There is also a configuration dialog, used to configure the default shell of an desktop. Normally, this is the explorer.exe, but you can also define other programs. Just select the executable and possible parameters used on starting up the shell process.

The sources are not well documented (and not completely new; the Platform SDK also provides a similar program, btw), and also full of crappy code, but you can use it as a base code to develop your own application.

The main class handling all the related stuff is encapsulated in CMFDeskTopHelper. Also, there are some helper classes for:

  • Creating a single input window
  • Processing the Registry
  • Parsing input keys, and
  • Getting hotkey values


Download demo project binaries - 28 Kb
Download source - 73 Kb


  • New Version

    Posted by MikeTheDwarf on 05/27/2008 11:52am

    for a brand new, full featured version, visit

    This page tries to give something back to the famous CodeGuru site!

  • Is there a way to remove some of the desktop added?

    Posted by Legacy on 12/07/2003 12:00am

    Originally posted by: Shane L

    I would like to say this is a great tool! Why Microsoft down even provide it as part of the powertoy is a mystery!
    Thank for sharing it.

    Is there a way to remove some of the desktop added?

    Again thanks!

  • compiling errors

    Posted by Legacy on 11/13/2003 12:00am

    Originally posted by: Hermann Fischer

    Good work, but is it possible that you forgot some files? Many constants like VK_OEM_... are not defined !?

    • Uh...

      Posted by dogbear on 10/23/2005 07:54am

      We heard you the first time... Huh?

    • Um...

      Posted by dogbear on 10/23/2005 07:53am


  • Not seen like this before!!!

    Posted by Legacy on 11/12/2003 12:00am

    Originally posted by: Jayendranath

    Not seen like this before!!!

  • Great!

    Posted by Legacy on 11/11/2003 12:00am

    Originally posted by: benben


  • Hahaha, greate!!!!!!!!!!!

    Posted by Legacy on 11/10/2003 12:00am

    Originally posted by: Pham Son Thuy

    Hahaha, greate!!!!!!!!!!!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Lenovo recommends Windows 8 Pro. "I dropped my laptop getting out of the taxi." This probably sounds familiar to most IT professionals. If your employees are traveling, you know their devices are in for a rough go. Whether it's a trip to the conference room or a convention out of town, any time equipment leaves a user's desk it is at risk of being put into harm's way. Stay connected at all times, whether at the office or on the go, with agile, durable, and flexible devices like the Lenovo® …

  • On-demand Event Event Date: September 23, 2015 The cloud is not just about a runtime platform for your projects – now, you can do your development in the cloud, too. Check out this webcast to learn how the cloud improves your development experience and team collaboration. Join Dana Singleterry, Principal Product Manager for Oracle Dev Tools, as he discusses how to simplify every aspect of the development lifecycle, including requirements gathering, version management, code reviews, build automation, and …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date