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).
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).
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
.
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
).