Set window to stays always on desktop on windows7
Posted
by Nuno
on Stack Overflow
See other posts from Stack Overflow
or by Nuno
Published on 2010-05-17T23:18:35Z
Indexed on
2010/05/18
9:20 UTC
Read the original article
Hit count: 327
Hi,
I'm trying to set my window a child of the desktop, and i'm doing this like this:
HWND ProgmanHwnd =
::FindWindowEx(
::FindWindowEx(
::FindWindow(L"Progman", L"Program Manager"),
NULL,
L"SHELLDLL_DefView",
L""),
NULL,
L"SysListView32",
L"FolderView");
SetParent(m_hWnd, ProgmanHwnd);
This works fine in windowsXP, my window is underneath all windows and when i press the "show desktop" option the window shows and all other "normal" windows are hide.
But in Win7 when i do the above code the same window is not displayed, in spy++ i can see that my window is a child window of the SysListView32 but it not display (and it has the WM_VISIBLE style)?
What i'm missing? or what changed from winXP to win7? how can i do this to work on win7?
Update: It's got something to do with aero theme, because if i change the desktop theme to the basic then the window is displayed, but if i switch back to one of the aero theme then is hided again.
Thanks
© Stack Overflow or respective owner