Description
http://msdn.microsoft.com/en-us/library/windows/desktop/bb787949(v=vs.85).aspx says you MUST specify hWnd when sending, but that is not true.
I wrote testcase and sending SHAppBarMessage(ABM_GETTASKBARPOS, &abd); without telling hWnd returns correct results while Shell_TrayWnd exists. I also tried sending WRONG hWnd (hWnd of Start Menu, hWnd of docket Winamp window) and I still get the same results if Shell_TrayWnd exists. If it doesn't, I get random data. Yes, while testing on Windows (2k3 sp1, sp2, xp sp3).
So, current (r58047) shell32 code:
case ABM_GETTASKBARPOS:
GetWindowRect(data->hWnd, &rec);
data->rc=rec;
return TRUE;
Requires a fix.
Suggested a patch and appended a test case (source+executable).
Edijs KolesnikovĨs
Attachments
Issue Links
- is duplicated by
-
CORE-7237 SHAppBarMessage is broken and needs to be rewritten
- Open