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

Windows specific forum
IdeasVacuum
Always Here
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?

Post 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
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
Nico
Enthusiast
Enthusiast
Posts: 274
Joined: Sun Jan 11, 2004 11:34 am
Location: France

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

Post by Nico »

Your listing is not good, what tool do you use?

My result:

Parent-->Child--> Child
WorkerW-->SHELLDLL_DefView-->SysListView32
IdeasVacuum
Always Here
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?

Post 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?
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
Nico
Enthusiast
Enthusiast
Posts: 274
Joined: Sun Jan 11, 2004 11:34 am
Location: France

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

Post by Nico »

Oops, I confused desktop with explorer, your listing is good, there is no SysListView32.
IdeasVacuum
Always Here
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?

Post 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............. :?
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4997
Joined: Sun Apr 12, 2009 6:27 am

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

Post by RASHAD »

Egypt my love
Post Reply