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

  • Moving from an on-premises environment to Office 365 does not remove the need to plan for disruptions or reduce the business risk requirements for protecting email services. If anything, some risks increase with a move to the cloud. Read how to ease the transition every business faces if considering or already migrating to cloud email. This white paper discusses: Setting expectations when migrating to Office 365 Understanding the implications of relying solely on Exchange Online security Necessary archiving …

  • Enterprises are increasingly looking to platform as a service (PaaS) to lower their costs and speed their time to market for new applications. Developing, deploying, and managing applications in the cloud eliminates the time and expense of managing a physical infrastructure to support them. PaaS offerings must deliver additional long-term benefits, such as a lower total cost of ownership (TCO), rapid scalability, and ease of integration, all while providing robust security and availability. This report …

Most Popular Programming Stories

More for Developers

RSS Feeds

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