Just to clarify,
A Windows screen saver is just a .exe that has been renamed to have a
.scr extension, which has different modes of behaviour depending on what
command line parameters are passed to it.
Basically it works like this…
When the screen saver timeout occurs your application is launched with a
’/S’, ‘-S’, or just ‘S’ as the first parameter via the command line…
ie myscreensaver.scr /S
This tells you screen saver to launch itself in full screen mode.
When you go to the Screen Saver tab in Display Properties dialog, the
screen saver is supposed to preview itself in the little monitor.
For this to happen your screen saver is launched with ‘/P’, ‘-P’, or
just ‘P’ as the first parameter and the second parameter will be the
Window handle of the preview window. So in SDL you would copy this
second parameter to SDL_WINDOWID before starting SDL.
For your ScreenSaver Configuration window to display your screen saver
will be launched with the ‘/C’, ‘-C’, or just ‘C’ value as the first
parameter. You would then display your Config Dialog and adjust your
screen saver accordingly.
The only other parameter that may be passed to your screensaver could be
’/A’, ‘-A’, or just ‘A’ as the value for the first parameter, but I
believe this is only for password handling under Win95, but I may be
wrong. I am sure someone will correct me if I am wrong.
In my experience, screensaver are almost always launched with /S, /C, /P.
Anyway that should give you an idea of how screensavers work under Windows.
http://www.DelphiGamer.com := go on, write a game instead;