Page 1 of 1

Explorer Windows on Win 7 do not use a List View?

Posted: Fri Aug 31, 2012 3:07 pm
by IdeasVacuum
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

Re: Explorer Windows on Win 7 do not use a List View?

Posted: Mon Sep 03, 2012 12:21 pm
by Nico
Your listing is not good, what tool do you use?

My result:

Parent-->Child--> Child
WorkerW-->SHELLDLL_DefView-->SysListView32

Re: Explorer Windows on Win 7 do not use a List View?

Posted: Mon Sep 03, 2012 6:25 pm
by IdeasVacuum
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. :cry:

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?

Re: Explorer Windows on Win 7 do not use a List View?

Posted: Tue Sep 04, 2012 12:30 am
by Nico
Oops, I confused desktop with explorer, your listing is good, there is no SysListView32.

Re: Explorer Windows on Win 7 do not use a List View?

Posted: Tue Sep 04, 2012 4:09 am
by IdeasVacuum
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 :cry:

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

Re: Explorer Windows on Win 7 do not use a List View?

Posted: Tue Sep 04, 2012 5:42 am
by RASHAD