StarSaver, a Windows 3.0 Screen Saver By Duane T. Doutel 2/12/91 I have seen and used for a time several screen savers for Windows, and they were nice in varying degrees. I have also been using Stars by David Stafford, a very nice program which paints moving stars on the DeskTop Window, behind all other windows on the screen. But what I wanted was a Screen Saver which would paint moving stars on a full-screen FOREGROUND window! I couldn't find one. Ah, a project worthy of my efforts, sufficiently esoteric to be diverting, educational and useful when completed! REGISTRATION Of course, I, like just about all of us, am not adverse to a bit of remuneration, so I have opted to distribute StarSaver as SHAREWARE. This means it isn't FREE. If you find StarSaver of value for whatever reason and would like to stroke your ego, send me the $10.00 registration fee. Doing so will undoubtedly keep me VERY interested in enhancing (and saints forbid, fixing) StarSaver! For information on where to send the Samolians, please print and fill out the registration form included below. Please feel free to pass StarSaver around to your friends and favorite Bulletin Board Services, as long as you include with it this documentation. It would be best if you just used the original zip file in which you received StarSaver. The 2 files it contains are : StarSave.exe (the program itself) StarSave.txt (This document) StarSave.hst (development/maintenance history) I've had a lot of fun and learned a great deal writing this. If you would just like to rap about it, or anything else, for that matter, you can leave me messages on the SPIKE BBS at (801) 392-0331; it's a real nice board and I call it home, with many thanks to Eugene Morgan, the SPIKE SysOp (I'm too poor for CompuServ or Genie, thanks to what the SDK set me back!) In any case, why not let me know what you think of StarSaver? To register your copy of StarSaver, please send the form provided at the bottom of this doccument along with $10.00 per copy being registered to: Duane T. Doutel 5021 S. 600 West Ogden, UT 84405 Check or Money Order only, please! INSTALLATION Simple--install it in a Program Manager group as you would any other Windows program, or place it in WIN.INI on the load= line, as follows: load=c:\windows\ss.exe See your Windows User's Guide for more information on the "load=" command. OPERATION Also simple! When the StarSaver Icon is visible, clicking on it produces the usual Windows System Menu, which has been modified to suit my purposes. ABOUT... Clicking here produces a typical Windows About Box. SETUP... Clicking here produces a dialog box from which you can alter the default blanking interval, which is 1 minute. Permissible values range from 1 to 99 minutes. It should be noted that the first time StarSaver is run and every time you modify the blanking interval, the new value is stored in WIN.INI in a [StarSave] section. SETUP (continued) It should be noted that NON-WINDOWS APPLICATIONS, i.e. DOS programs requiring a PIF, the DOS PROMPT, etc. running in full-screen mode effectively cause the blanking interval to be much longer than what the user might have set above. In 386 Enhanced Mode using the standard timeslicing and priority values, the blanking interval appears to be multiplied by about a factor of 6. So if you have set a value of 3 minutes in the SETUP dialog box, the screen will blank in about 18 minutes. NON- WINDOWS APPLICATIONS will be iconized if they are running in full-screen mode before blanking occurs, so don't be surprised when you have to click the application's icon to resume your session. SUSPEND Clicking here will temporarily suspend blanking. It remains suspended until you RESUME it or quit Windows. You can tell when StarSaver is suspended because the stars in the icon will stop moving. Conversely, you can tell StarSaver is active when the stars in the icon are moving. The MOVE, CLOSE and SWITCH TO commands have the usual effect. APPLICATION NOTES - Concerning the WINDOWS HOOK... This program incorporates a system-wide Windows message hook to monitor User Activity. Interestingly enough, Microsoft says that the code for a Windows Hook MUST RESIDE in a DLL, and must have fixed code and data segments. As you other Windows programmers will probably notice, no DLL has been used here. However, I did do two things: both code and data are specified as PRELOAD MOVEABLE in the module definition file, and the hook function is exported as per Microsoft's requirements. You will note that the usual DISCARDABLE attribute has been omitted. This strategy works quite well, which should perhaps be a lesson to us all; either Microsoft fibbed to us, or didn't tell us the whole truth in the SDK documentation! It should also be noted that I found information (all of it needed) scattered about in no less than 4 different places in the SDK document- ation. In short, Microsoft has done a VERY POOR JOB of organizing the manuals! The function descriptions give no "SEE ALSO"s, something I have always found invaluable in the C compiler documentation. And to top it off, the function descriptions give no code fragments, also invaluable! Registration Form For StarSaver, a Screen Saver for Windows 3.0 and Above, By Duane T. Doutel NAME ________________________________________ COMPANY ________________________________________ ADDRESS ________________________________________ ________________________________________ CITY __________________________ STATE ____ ZIP _______-____ SOFTWARE VERSION # (FROM ABOUT BOX) ______ WHERE DID YOU OBTAIN YOUR COPY OF STARSAVER? ____________________________________________________________ ____________________________________________________________ NUMBER OF COPIES BEING REGISTERED AT $10.00 PER COPY _____ AMOUNT ENCLOSED _____