Click here to Skip to main content
Click here to Skip to main content

Tagged as

Desktop Manager Application

, 23 May 2010 CPOL
Rate this:
Please Sign up or sign in to vote.
Manage your desktop mess and create a virtual desktop


Sometimes users have too many windows open on the desktop and too many taskbar buttons and it become very difficult to work like this. In UNIX, there are 4 desktops that you can separate your open applications between. In Windows, there isn't a built-in solution, but you can make one.

This application allows you to control your processes' window's visual appearance while using windows operation system. By saying "visual appearance", I mean:

  1. The visual window on the desktop
  2. The task bar button
  3. The indication on the "Application" tab in the Windows Task Manager

The application allows you to divide the windows to categories and to control the categories as a separate unit.


  1. The first screen that will be present will show one category named "Windows" that includes all the opening processes at the current moment.


  2. Clicking on one of the items in the tree will hide all the visual appearances of the process and will change the text from black to grey.
  3. Right clicking on the "Windows" Category will allow you to open a new category or to Toggle all the open windows in "Windows" category. The Toggle menu item will allow hide/show all the visual appearances of the window.


  4. After adding up new categories, you can drag&drop windows to the categories and even add sub categories to them.

    In this example, I have created two categories under "Windows", "Desktop-1" and "Desktop-2" and one sub category under "Desktop-1" named "Sub Category".

    Under each one of these categories, I have added some process' windows.


    These categories can be treated as visual desktops. By clicking Toggle all on one of the categories, all the visual appearances of the process windows under them will be hidden. Clicking again on the toggle all menu item will show all the visual appearance again.

  5. The application saves the tree categories when the application is closed and loads them in the next startup.

Using the Code


The code is separated to two main folders, the Tree folder that holds classes that control the tree view maintenance and the tree view different items and the Windows folder that holds classes that control the collection of the open windows.

3.1 The Tree Folder Main Classes


  1. WindowsTreeManager: Control the TreeView item and signed to its events (mouse click, drag&drop, etc.).
  2. CategoryNode, WindowNode, RootNode: Inherits from TreeNode can be added to a TreeView.

WindowNode - holds a WindowTreeNodeDataItem.

CategoryNode - represents a category in the tree.


3.2 The Window Folder Main Classes

1. The classes that represent visual appearance of Windows


  1. IWindow: The interface contains the signature of get's methods for the window properties.
  2. IInteractiveWindow: The interface contains the signature of methods that represent the functionality of a window.
  3. Window: The class holds the properties of a Window.
  4. InteractiveWindow: Inherits- IWindow (window properties) and IInteractiveWindow (functionality).
  5. InteractiveWindowCollection and InteractiveWindowCollectionManager collect and manage a collection of InteractiveWindows.


2. The classes that provide the API interface


Points of Interest

The writers are two students in the Academic college of Tel Aviv Jaffa in Israel.

We will be more than happy to get comments about our work.


  • 24th May, 2010: Initial post


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author


Israel Israel
No Biography provided

Comments and Discussions

QuestionGreat article, but it sounds like much more than it is.. Pinmembersamidi27-Aug-14 6:41 
GeneralMy vote of 5 PinmemberLeChatdeNice24-May-11 5:40 
GeneralMy vote of 4 PinmemberdvptUml16-Apr-11 23:28 
Questiongood article but asafmichal someone has done this before on codeproject PinmemberR&D_Man8-Oct-10 21:28 
AnswerRe: good article but asafmichal someone has done this before on codeproject PinmemberLeChatdeNice24-May-11 5:39 
General[My vote of 1] Bug in application Pinmemberashish8patil24-May-10 1:40 
Hye Asafmichal
Thanks for great Idea and application ,I really like concept.
I tried to run your application exe on my PC.I found
1) It run very slow,take more memory.
2) When I select Toggle All using right click. and close this
application from task manager I was not appble to see my other
window applications and that application was running on PC.Your
application is beautiful example of memory leakRose | [Rose] . Please show
all windows when application get closed or close the exe of
respective windows also.
Thumbs Up | :thumbsup:
All The Best.
GeneralRe: [My vote of 1] Bug in application Pinmemberasafmichal27-May-10 0:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.150326.1 | Last Updated 24 May 2010
Article Copyright 2010 by asafmichal
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid