Exporting to Windows screensaver

Windows screensavers have .scr extensions and are really .exe files. Why I can’t then change name of file, you ask? Well screensavers have to respond to certain command line switches which, for your convenience I posted below:

ScreenSaver - Show the Settings dialog box.
ScreenSaver /c - Show the Settings dialog box, modal to the
foreground window.
ScreenSaver /p - Preview Screen Saver as child of window .
ScreenSaver /s - Run the Screen Saver.

So in reality to export properly to screensaver, runtime should be aware of those switches, otherwise bad things may happen (like running screen saver fullscreen when you just selected it from the list instead of previewing it in the “monitor” in display settings.

Settings dialog can be something simple, like displaying author name and name of screen saver (like MultimediaFusion/The Games Factory-made screensavers does).

Why I’m asking for this? Well, it would give users easy and free way to create screensavers that aren’t slideshows or bouncing images (though leaving this option if user’s inclined). Also it would give possibility to make customized “lockout screensavers”, if you don’t trust default windows mechanism of requiring entering user’s password upon screensaver exit or just want to set different password for screensaver. Possibilities are endless.

Oh, and best part is that you don’t have to change editor in any significant way (just adding “screensaver” export target), just fork runtime and add form for settings. and routines to respond to command switches.