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