ok i dont understand what the msdn is trying to say. i just need to know when the taskbar has been resized.
Notifies the system when an appbar's position has changed. An appbar should call this message in response to the WM_WINDOWPOSCHANGED message.

ok so lets assume the taskbar has been changed. whats my code gonna look like. to me the msdn is saying it should look like this:


mov abr.cbSize, sizeof APPARDATA
invoke SHAppBarMessage,ABM_WINDOWPOSCHANGED, addr abd

so how am i suppose to receive notification if it says i should call the ABM_WINDOWPOSCHANGED message when i think i should be reveiving it.
Posted on 2002-05-26 16:03:38 by smurf

The WM_WINDOWPOSCHANGED message is sent to a window whose size, position, or place in the Z order has changed as a result of a call to the SetWindowPos function or another window-management function.

lpwp = (LPWINDOWPOS) lParam; // points to size and position data

lpwp=Value of lParam. Points to a WINDOWPOS structure that contains information about the window's new size and position.

Default Action- The DefWindowProc function sends the WM_SIZE and WM_MOVE messages to the window.

Remarks-The WM_SIZE and WM_MOVE messages are not sent if an application handles the WM_WINDOWPOSCHANGED message without calling DefWindowProc. It is more efficient to perform any move or size change processing during the WM_WINDOWPOSCHANGED message without calling DefWindowProc.

What can we make of all of this?
Well, if we DON'T try to intercept WM_WINDOWPOSCHANGED,
then our Window Procedure will let it fall through to DefWindowProc. That being the case, we can look for and handle cases of WM_SIZE and WM_MOVE instead, which are common windows messages.

If we DO try to intercept and handle WM_WINDOWPOSCHANGED, then we WILL NOT generate a WM_SIZE and/or WM_MOVE as a result, and have to handle the event ourselves.

Look for examples that use the WM_SIZE/WM_MOVE messages.
They don't need any fancy data structures,either.
Posted on 2002-05-26 17:19:33 by Homer