The DefScreenSaverProc function provides default processing for any messages that a screen saver application does not process.
LONG DefScreenSaverProc(
HWND hWnd, |
// handle to screen saver window |
UINT msg, |
// message |
WPARAM wParam, |
// first message parameter |
LPARAM lParam |
// second message parameter |
); |
If a screen saver application must perform a different action in response to
any of these messages, the application’s ScreenSaverProc
window procedure should process the message.
The return value specifies the result of the message processing and depends on the message sent.
A screen saver application’s ScreenSaverProc window procedure should use DefScreenSaverProc instead of the DefWindowProc function to provide default message processing. The DefScreenSaverProc function passes any messages that do not affect screen saver operation to DefWindowProc.
The following table describes how the DefScreenSaverProc processes a variety of window messages:
Message |
Action |
Closes the screen saver if the wParam parameter is FALSE. A wParam value of FALSE indicates that the screen saver is losing the input focus. The screen saver is closed by sending a WM_CLOSE message. | |
Removes the cursor from the screen by setting the cursor to NULL. | |
WM_LBUTTONDOWN, WM_RBUTTONDOWN, WM_MBUTTONDOWN, WM_KEYDOWN, WM_KEYUP, WM_MOUSEMOVE |
Calls the PostQuitMessage function to close the screen saver. |
Posts a WM_CLOSE message to close the screen saver window. | |
Returns FALSE if the wParam parameter of WM_SYSCOMMAND is either SC_CLOSE or SC_SCREENSAVE. |
DefWindowProc, PostQuitMessage, ScreenSaverProc, WM_ACTIVATE, WM_ACTIVATEAPP, WM_CLOSE, WM_DESTROY, WM_KEYDOWN, WM_KEYUP, WM_LBUTTONDOWN, WM_MBUTTONDOWN, WM_MOUSEMOVE, WM_NCACTIVATE, WM_RBUTTONDOWN, WM_SETCURSOR, WM_SYSCOMMAND