Click here to Skip to main content
15,887,356 members
Articles / Desktop Programming / MFC
Article

Taskbar Sorter Utility

Rate me:
Please Sign up or sign in to vote.
4.82/5 (20 votes)
11 Jun 2002CPOL1 min read 174.2K   3.7K   50   35
Utility to change order of icons in taskbar

Introduction

This utility allows you to change the order of items on your taskbar, by dragging them into position in a list.

Taskbar Sorter

The list shows all of your visible top-level windows. To move a window you simply drag the window's title into the order you wish the windows to appear, and click the Sort button.

To exit the utility, click on the Close button.

How it works

The application enumerates windows which are top-level (ie have no owner), and do not explicitly prevent themselves appearing in the taskbar. It adds each of the windows' titles to a drag list box (CDragListBox), along with the icon for the app. The user can then re-order the windows. When the user clicks the Sort button, each window is hidden using ShowWindow(SW_HIDE) and then re-shown (ShowWindow(SW_SHOW)) in the order of the list - top to bottom. This has the effect of the window being removed from the taskbar and then being re-added at the right-hand side.

Known limitations

Unfortunately there doesn't appear to be any way of interrogating the taskbar to determine, firstly which windows appear there, and secondly in what order they currently appear. This means that each time the utility is run the user needs to re-order each window from scratch.

That's all there is to it - have fun!

License

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


Written By
Software Developer (Senior)
United Kingdom United Kingdom
Originally from an electronics background, I moved into software in 1996, partly as a result of being made redundant, and partly because I was very much enjoying the small amount of coding (in-at-the-deep-end-C) that I had been doing!

I swiftly moved from C to C++, and learned MFC, and then went on to real-time C on Unix. After this I moved to the company for which I currently work, which specialises in Configuration Management software, and currently program mainly in C/C++, for Windows. I have been gradually moving their legacy C code over to use C++ (with STL, MFC, ATL, and WTL). I have pulled in other technologies (Java, C#, VB, COM, SOAP) where appropriate, especially when integrating with third-party products.

In addition to that, I have overseen the technical side of the company website (ASP, VBScript, JavaScript, HTML, CSS), and have also worked closely with colleagues working on other products (Web-based, C#, ASP.NET, SQL, etc).

For developing, I mainly use Visual Studio 2010, along with an in-house-designed editor based on Andrei Stcherbatchenko's syntax parsing classes, and various (mostly freeware) tools. For website design, I use Dreaweaver CS3.

When not developing software, I enjoy listening to and playing music, playing electric and acoustic guitars and mandolin.

Comments and Discussions

 
GeneralRe: Cool Pin
Paul Vickery12-Jun-02 22:37
professionalPaul Vickery12-Jun-02 22:37 
GeneralRe: Cool Pin
Toni Navarro12-Jun-02 23:11
Toni Navarro12-Jun-02 23:11 
GeneralOrder Pin
Laurent Kempé11-Jun-02 23:51
Laurent Kempé11-Jun-02 23:51 
GeneralRe: Order Pin
Paul Vickery12-Jun-02 0:46
professionalPaul Vickery12-Jun-02 0:46 
GeneralRe: Order Pin
Laurent Kempé12-Jun-02 1:26
Laurent Kempé12-Jun-02 1:26 
GeneralRe: Order Pin
Henry Jacobs12-Jun-02 8:37
Henry Jacobs12-Jun-02 8:37 
GeneralRe: Order Pin
Paul Vickery12-Jun-02 22:29
professionalPaul Vickery12-Jun-02 22:29 
GeneralRe: Order Pin
Henry Jacobs13-Jun-02 15:13
Henry Jacobs13-Jun-02 15:13 
GeneralRe: Order Pin
Maxime Labelle18-Feb-04 2:16
Maxime Labelle18-Feb-04 2:16 
GeneralRe: Order Pin
Paul Vickery19-Feb-04 3:30
professionalPaul Vickery19-Feb-04 3:30 

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

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