[shell-coding] Re: SysTray changes in Windows 7 Beta compared to Vista

Karl-Henrik Henriksson [qwilk] wrote:

...another change in Windows 7 Beta is that the size of the AppBar data blob sent to the shell (commonly referred to as e.g. "SHELLAPPBARDATA" to differentiate it from the actual APPBARDATA struct) is now 64 bytes, whereas it used to be 56 bytes in Windows XP and Vista, and 48 bytes in Windows 2000. Has anyone figured out what those extra 8 bytes are for and whether or not the position of e.g. dwMessage has changed? (...I haven't had time to trace it myself yet...)


Hi,

I'll probably take a look at these things over the next few days/next week. I had already noticed the odd appbar size (we have nice TRACEs for that sort of thing), but all I can say at this point is that the embedded APPBARDATA struct seems unchanged, as the first 4 bytes of lpData are set to 0x28.

There's also some odd stuff going on with SHLoadInProc/SHEnableServiceObject and WM_USER+216 messages sent to Shell_TrayWnd. SHLoadInProc is no longer implemented on Vista and up, but SHEnableServiceObject is still around. It only appears to accept certain CLSIDs though (whitelisted in Explorer.exe?).

I have no clue currently where the WM_USER+216 messages come from, but I see them sent/posted to Shell_TrayWnd on a regular basis. Again, TRACEs are nice. :)

-ilmcuts


__________________________________________________
Subscription options and archive:
http://www.freelists.org/list/shell-coding

Other related posts: