I have a small but annoying problem. I'm trying to write one of those apps
that provides "Virtual Desktops" [1]. I'm at the stage where I know what to
do (maintain a list of windows that are visible on each desktop, and
show/hide the relevant ones when the user switches) but I'm not sure of the
picky details. At the moment I'm using EnumWindows to get a list of the
current windows, but this is giving me more windows than I need - including
Progman and some unnamed windows.
What I need is some way of telling which windows are currently visible in
the taskbar, which seems to be how other similar apps do it. That way I can
enumerate their child windows and popups so I don't miss anything, but I
won't be bothered with unnecessary "windows" that don't need to be (and thus
shouldn't be) shown/hidden. Alternatively, some way of telling whether a
window handle represents an actual visible form would be nice (that way I
can get things like ICQ and WinAmp which hide themselves from the taskbar,
which CoolDesk doesn't seem to worry about).
Does anybody have any ideas on where to go from here? It seems like a fun
project, but I'm getting frustrated with the implementation details of what
seems to be a simple idea. (On a related matter, does anybody know how to
get the system menu icon for a window from its window handle? Or do you have
to go through ExtractIcon?)
I'd offer a free copy of my app to anybody who can help me out, but it'll be
freeware anyway :) Rest assured you'll get all the fame I can give you, even
if not the fortune...
TIA
- Matt
[1] My current one is unlicensed 30-day shareware, and I'm too cheap to
register it.
---------------------------------------------------------------------------
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz