I'm fairly sure you can create screensavers with.NET but are there any tutorials on doing so? and how well can you make XNA screensavers?
7 Answers
A screensaver is just an executable named that has been renamed '.scr' :) So yes, you can make one in whatever language you like, pretty much.
![](../../users/profiles/154152.webp)
- 51,625
- 6
- 84
- 103
-
2Place in the Windows folder, with the 'scr' executable. – Havenard Sep 02 '09 at 05:10
Here's a nice and small tutorial that explains how to create a screensaver with C#.
As already mentioned, a screensaver is just an executable with an .scr
file extension instead of .exe
. Additionally, if you want to create a useful screensaver, you should support these command-line arguments:
/c
, /c:HWND
, /c HWND
: Configuration mode where HWND
is the handle to the window that should be used as the parent.
/p
, /p HWND
: Preview mode where HWND
is the handle to the parent window.
/s
: Run in full-screen mode
![](../../users/profiles/54193.webp)
- 9,205
- 6
- 42
- 51
James O'Meara has created a nice XNA Screensaver Starter Kit which is a great resource for learning how to create a screensaver with XNA. Detail including the downloads are in the XNA forum here. I recommend reading the comments too, as there are some good tips on how to show the screensaver in the preview window also.
![](../../users/profiles/16643.webp)
- 3,463
- 3
- 19
- 17
Today, I have posted an updated starter kit at the XNA forum here. The update consists of XNA GS 3.1 support, working preview and modal configuration dialog.
Tonight, I will write an article describing the different aspects here: http://doktormadsen.dk/wp/xna-screensaver-kit/.
Update: the article is now drafted and comments are very welcome.
![](../../users/profiles/241930.webp)
- 1,608
- 4
- 16
- 28
For a simple tutorial try Useful screensavers which also explains how to do the preview mode which is generally left out of any accounts
I've written a fully functional screen saver that takes into account some of the more obscure details that they don't normally tell you about. You can view the source code and a wiki explaining the details.
![](../../users/profiles/1786847.webp)
- 812
- 9
- 15