简体   繁体   中英

Enumerate windows on taskbar in Windows XP without P/Invoke using C#

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

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

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 .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM