views:

30

answers:

2

Is there any method of retrieving only windows on the taskbar?

I want to make a custom "taskbar" that will group APPs in any order (not just in common order like default windows task grouping).

A: 

Generally, without P/Invoke -- no.

However, if you only care about managed, Windows Forms windows that are within your .NET process, you can loop through Application.OpenForms and examine properties, especially Form.ShowInTaskbar. For WPF, it is Application.Windows.

binarycoder
I want to duplicate taskbar items. So far, with p/invoke, I'm accurate at guessing, but it's only guesses. For example, calculator is not an app window. Even though it shows up in the taskbar, I have to explicitly check for the string "Calculator" which is not good code. I was hoping there was a way to know for sure, but I can't find it.
Xaade
A: 

You'll have to use P/Invoke. Unfortunately, there is no standard way to determine whether a window would appear in the taskbar (or in alt+tab): you can only guess.

Here's a pretty old example in VB: http://www.thescarms.com/VBasic/alttab.aspx

And in OnTopReplica, I implemented it in a similar manner. You can take a look at the source code (check out OnTopReplica/WindowSeekers/TaskWindowSeeker.cs).

Lck