Creating Windows Screensavers

Started by
14 comments, last by Code_Dark 20 years, 3 months ago
I''ve never quite understood why people insist on making screensavers that complicated way, as outlined in the article (that is, doing all the work yourself, with command line parsing and miniature window management, and so on). Why not simply do what Microsoft recommend that you do, namely to just link your program with the scrnsave.lib library, and get everything for free.

That''s what I do, and it works great. All you have to think about is how to draw the screensaver. Window management, command line management and configuration dialog management is all handled by the library - and it''s the right way to do it according to the screensaver specification.

So... what am I missing?
Advertisement
Well, because scrnsave.lib is a static library compiled by Microsoft, I can't use it with Borland's compiler (and no you cannot use implib).

Here's a site dedicated to screensaver programming.

[EDIT] Heh, the page referenced by JimboC can be found on this site.

______________________________________________________________
The Phoenix shall arise from the ashes... ThunderHawk -- ¦þ
MySite
______________________________________________________________


[edited by - Thunder_Hawk on January 17, 2004 3:17:41 PM]
______________________________________________________________________________________The Phoenix shall arise from the ashes... ThunderHawk -- ¦þ"So. Any n00bs need some pointers? I have a std::vector<n00b*> right here..." - ZahlmanMySite | Forum FAQ | File Formats______________________________________________________________________________________
I agree that''s a quite good reason, yes... but you are aware there are scrnsave.lib clones to be found for Borland compilers, right?
I looked for quite a while but never found one. BTW, I'd prefer to use scrnsave.lib if I had the option. I've been considering writing my own lib to emulate everything it does (reverse engineering?), including the same functions for code portability, but I haven't really worked with screensavers enough to justify doing all of that...yet...

[EDIT] ROFLMAO, I just did a google search for "borland scrnsave.lib clone", and my profile on GDNet is the sole result

______________________________________________________________
The Phoenix shall arise from the ashes... ThunderHawk -- ¦þ
MySite
______________________________________________________________

[edited by - Thunder_Hawk on January 18, 2004 10:45:00 AM]
______________________________________________________________________________________The Phoenix shall arise from the ashes... ThunderHawk -- ¦þ"So. Any n00bs need some pointers? I have a std::vector<n00b*> right here..." - ZahlmanMySite | Forum FAQ | File Formats______________________________________________________________________________________
it isn''t hard to make a screensaver, all you have to do is handle a few command-line arguments (to see if it is a preview, or a regular screensaver run, or the "settings" dialog), and make a program that is pretty and terminates on a mousemove or keypress. it''ll take you longer to find that LIB than just type it up.
--- krez ([email="krez_AT_optonline_DOT_net"]krez_AT_optonline_DOT_net[/email])
Just thinking about this got me to start writing my own version of scrnsave.lib. I think I''ve got a pretty good clone working now...Of course it hasn''t been tested from every angle yet, so there still might be a bug or two. It''s a little more difficult than it sounds simply because of the haphazard formating of the command-line arguements and a few subtleties regarding different versions of windows (that and the fact that I''m only loosely versed in Win32 API).

______________________________________________________________
The Phoenix shall arise from the ashes... ThunderHawk -- ¦þ
MySite
______________________________________________________________
______________________________________________________________________________________The Phoenix shall arise from the ashes... ThunderHawk -- ¦þ"So. Any n00bs need some pointers? I have a std::vector<n00b*> right here..." - ZahlmanMySite | Forum FAQ | File Formats______________________________________________________________________________________

This topic is closed to new replies.

Advertisement