The windows sdk offers the scrnsave.lib for you create a simple screensaver with 3 functions
1 to run as the windows procedure;
Code:
LRESULT WINAPI ScreenSaverProc(HWND hWnd, UINT message, WPARAM wParam,LPARAM lParam){}
1 to initialise a configuration dilog box (Optional, but must be created- if you dont want to use it, return 0);
Code:
BOOL WINAPI ScreenSaverConfigureDialog(HWND hdWnd,UINT dMessage, WPARAM wParam, LPARAM lParam){}
and 1 to register a custom windows class(Again optional - if you dont want to use it return 1);
Code:
BOOL WINAPI RegisterDialogClasses(HANDLE hInstance){}
You also need as a minimum, the following resources;
an icon called ID_APP and a string table with a single entry called IDS_DESCRIPTION (Just enter a title for the actual text)
Then in the ScreenSaverProc, you will recieve 1 WM_CREATE, 1 WM_ERASEBKGND to begin (use the later to clear the screen). At the end you will get a WM_DESTROY. Now in the WM_CREATE, make a timer to feed a WM_TIMER, and when you get that message, treat it as you would a WM_PAINT in a normal app.
Sorry if I am a little vague, but I will try post an example later when I get home from work