do you have researched desktop message, can you share your fruit to me?
-
do you have researched desktop messages, can you share your fruit to me? for ins, if i refresh destop, what message does the desktop gain? thank you very much
It is not clear what you want to do but i will assume you want to force the desktop to be redrawn, try this:
::InvalidateRect(NULL, NULL, TRUE);
and see if it produces what you wish or not.
> The problem with computers is that they do what you tell them to do and not what you want them to do. < > Sometimes you just have to hate coding to do it well. <
-
It is not clear what you want to do but i will assume you want to force the desktop to be redrawn, try this:
::InvalidateRect(NULL, NULL, TRUE);
and see if it produces what you wish or not.
> The problem with computers is that they do what you tell them to do and not what you want them to do. < > Sometimes you just have to hate coding to do it well. <
-
thank you all the same, but i want the message whick desktop gains when i refresh desktop, i use spy++, but too message to distinguish
What exactly do you mean by "refresh"?
> The problem with computers is that they do what you tell them to do and not what you want them to do. < > Sometimes you just have to hate coding to do it well. <
-
What exactly do you mean by "refresh"?
> The problem with computers is that they do what you tell them to do and not what you want them to do. < > Sometimes you just have to hate coding to do it well. <
-
"refresh" just is a action for repainting the desktop, you can do the action by pressing right mouse button on the desktop and clicking the refurbish item on the pop-up menu
So, i used spy++ too, turning off the logging of lstview messages and here is what i found: after you select the "Refresh" item from the popup menu, the desktop(which seems to be a "SysListView32", or have one on it) seems to receive a (WM_USER+3152) message, with wParam set to zero and lParam set to 0xFF000000, after this, it seems to start refreshing itself, turns off its own redrawing (WM_SETREDRAW), removes all the items in it, meaning the icons (LVM_DELETEALLITEMS), inserts them again (LVM_INSERTITEM), then turns back on redrawing and redraws itself (WM_ERASEBACKGROUND, WM_PAINT). I have no idea what you want to do and why you need this, or if i actually posted what you require. This is on Windows XP Pro SP3. So does this help anything?
> The problem with computers is that they do what you tell them to do and not what you want them to do. < > Sometimes you just have to hate coding to do it well. <
-
So, i used spy++ too, turning off the logging of lstview messages and here is what i found: after you select the "Refresh" item from the popup menu, the desktop(which seems to be a "SysListView32", or have one on it) seems to receive a (WM_USER+3152) message, with wParam set to zero and lParam set to 0xFF000000, after this, it seems to start refreshing itself, turns off its own redrawing (WM_SETREDRAW), removes all the items in it, meaning the icons (LVM_DELETEALLITEMS), inserts them again (LVM_INSERTITEM), then turns back on redrawing and redraws itself (WM_ERASEBACKGROUND, WM_PAINT). I have no idea what you want to do and why you need this, or if i actually posted what you require. This is on Windows XP Pro SP3. So does this help anything?
> The problem with computers is that they do what you tell them to do and not what you want them to do. < > Sometimes you just have to hate coding to do it well. <