Despite what you read, it turns out that a Windows Screen Saver is NOT "just" an .exe renamed to .scr. A .scr file is not "launched" directly, like an EXE. Instead, Windows looks for the executable in the .scr file, and re-launches that executable, with whatever command line parameters Windows wants to feed the executable.
This means that if you create a Shortcut to your .scr file, with your own parameters (for example, "myscreensaver.scr /windowed /doublebuffered"), when you use that shortcut, Environment.CommandLine reveals that what got launched was "myscreensaver.scr /S". Note that my parameters have been replaced.
I understand the role of the /s, /c and /p parameters here. This needs no explanation, and I use them correctly in my screen saver. But I would like my original parameters back, also. Is it possible to get the name of the process that launched my process, and get the command line parameters that were fed to that process?