Running a quick test on Win 7 64bit, I found that although the Desktop is similar to XP, using a SysListView32 to contain the icons, the Explorer Windows (class CabinetWClass) apparently do not?
This the enumeration on Win 7 64:
Window Class-->CabinetWClass
ReBarWindow32
TravelBand
ToolbarWindow32
msctls_progress32
Breadcrumb Parent
ToolbarWindow32
Search Box
SearchEditBoxWrapperClass
DirectUIHWND
DUIViewWndClassName
DirectUIHWND
CtrlNotifySink
NamespaceTreeControl
Static
Shell Preview Extension Host
SHELLDLL_DefView
DirectUIHWND
CtrlNotifySink
ScrollBar
ScrollBar
ReBarWindow32
ToolbarWindow32
Compared to XP 32:
Window Class-->CabinetWClass
ReBarWindow32
ToolbarWindow32
ToolbarWindow32
Edit
DUIViewWndClassName
DirectUIHWND
CtrlNotifySink
SysListView32
Explorer Windows on Win 7 do not use a List View?
-
IdeasVacuum
- Always Here

- Posts: 6426
- Joined: Fri Oct 23, 2009 2:33 am
- Location: Wales, UK
- Contact:
Explorer Windows on Win 7 do not use a List View?
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
If it sounds simple, you have not grasped the complexity.
Re: Explorer Windows on Win 7 do not use a List View?
Your listing is not good, what tool do you use?
My result:
Parent-->Child--> Child
WorkerW-->SHELLDLL_DefView-->SysListView32
My result:
Parent-->Child--> Child
WorkerW-->SHELLDLL_DefView-->SysListView32
-
IdeasVacuum
- Always Here

- Posts: 6426
- Joined: Fri Oct 23, 2009 2:33 am
- Location: Wales, UK
- Contact:
Re: Explorer Windows on Win 7 do not use a List View?
Hello Nico
Now that is interesting. I used Netmaestro's Digger, which gives the same results as my test:
CabinetWClass --> SHELLDLL_DefView --> DirectUIHWND
So, I assumed that my verification was correct.
In my app, the User is prompted to click on the Explorer Window of interest (Client Area or Titlebar). In WinXP, if the Client Area is clicked, WindowFromPoint_() returns the handle to a SysListView32. In Win7 64, WindowFromPoint_() returns the handle to a DirectUIHWND.
I use EnumChildWindows_() with GetWindow_(hwnd,#GW_CHILD) if the Titlebar was picked. This finds a SysListView32 on WinXP but, as per the list in my post, does not find one on Win7 64.
So, what am I doing wrong?
Now that is interesting. I used Netmaestro's Digger, which gives the same results as my test:
CabinetWClass --> SHELLDLL_DefView --> DirectUIHWND
So, I assumed that my verification was correct.
In my app, the User is prompted to click on the Explorer Window of interest (Client Area or Titlebar). In WinXP, if the Client Area is clicked, WindowFromPoint_() returns the handle to a SysListView32. In Win7 64, WindowFromPoint_() returns the handle to a DirectUIHWND.
I use EnumChildWindows_() with GetWindow_(hwnd,#GW_CHILD) if the Titlebar was picked. This finds a SysListView32 on WinXP but, as per the list in my post, does not find one on Win7 64.
So, what am I doing wrong?
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
If it sounds simple, you have not grasped the complexity.
Re: Explorer Windows on Win 7 do not use a List View?
Oops, I confused desktop with explorer, your listing is good, there is no SysListView32.
-
IdeasVacuum
- Always Here

- Posts: 6426
- Joined: Fri Oct 23, 2009 2:33 am
- Location: Wales, UK
- Contact:
Re: Explorer Windows on Win 7 do not use a List View?
Hi Nico
Well, good in a way - problem is, you can't use ListView messages with a DirectUIHWND - and I can't find anything on MSDN that tells me how to change the icon text colour in one
Also, speaking of the Desktop, to change the icon text colour there, the drop shadow effect must be deselected. Easy to do from the Control Panel but I have some customers that are too scared to touch it and others that are not allowed to touch it (Big Brother IT department!). So, I need a way to deselect text drop shadow programmatically.............
Well, good in a way - problem is, you can't use ListView messages with a DirectUIHWND - and I can't find anything on MSDN that tells me how to change the icon text colour in one
Also, speaking of the Desktop, to change the icon text colour there, the drop shadow effect must be deselected. Easy to do from the Control Panel but I have some customers that are too scared to touch it and others that are not allowed to touch it (Big Brother IT department!). So, I need a way to deselect text drop shadow programmatically.............
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
If it sounds simple, you have not grasped the complexity.

