--- In [email protected], "brucexs" <bswit...@...> wrote:
>
> 
> > 
> > This temporarily sends it to the back of the z-order, but when you right 
> > click on the bar, it comes to the front again. (XP or Win7)
> > 
> > The advantage of the other method (on XP) was that it resisted Win+D "show 
> > desktop" as well.  Unfortunately it didn't seem to work on Win7.
> >
> 
> It was always a bit surprising that Windows would allow a window to select a 
> window in a different process as its parent.  Maybe it does not work if the 
> proposed parent is 64 bit for  a 32 bit window. 
> 
> Just to confirm, have you tried tracing the child windows under the progman 
> window in windows 7 to find one to attach to?  (Use one of the sysinternal 
> programs or Winspector).  Is there a 32 bit version of progman running in by 
> some chance?

Winspector shows
+ SHELLDLL_DefView
++ SysListView32 "FolderView"
+++ SysHeader32

But when I make SysListView32 the parent, my bar completely disappears from the 
desktop. (Making SysHeader32 the parent doesn't pin it either, but it doesn't 
disappear)

> 
> On the win+d stuff, PowerPro does resist win+d in my tests on XP by ignoring 
> the system messages requesting minimize.  If you have time to play with a 
> message hook tool like winspector, what sequence of messages come to PowerPro 
> bars when you press the show desktop key in Windows 7?

Unfortunately I don't see any useful window messages.  (just 
PAINT/NC_PAINT/ERASEBKGND)

To recap I am trying to accomplish: 
1. Pin to desktop, so the bar is never on top of other things.  This works on 
XP when setting the parent to SysListView32, but I've not had success on Win7.

2. Resist AERO PEEK, which is WINKey+SpaceBar or mouse hover over the "Show 
Desktop" area of the Win7 start bar.  Google tells me I need to 
DWMWA_EXCLUDED_FROM_PEEK with DwmSetWindowAttribute, but I haven't found a way 
to do that in PPro yet.

http://msdn.microsoft.com/en-us/library/aa969524(VS.85).aspx

3. Resist Show Desktop/Win+D (and Win+M?).  This is resisted by TOPMOST windows 
(XP and Win7), or windows that have set the SysListView32 parent (on XP), but 
on Win7 I'm not sure how to do it with a non-topmost window.

This thread suggests there is a DTM_RAISE message (WM_USER), but I didn't 
notice one in Winspector.

http://www.mombu.com/microsoft/windows-programmer-win32/t-show-desktop-command-what-exactly-is-going-on-567693.html

I do notice that the Clock gadget on my Win7 desktop (a gadget that comes with 
Win7) is not TopMost, and does not hide on Win+D.








Reply via email to