
CScreenSaver
v1.02 An MFC class framework for developing screen savers
The screen saver library provided in the Windows SDK
namely SCRSAVE.LIB is designed for SDK apps and cannot be used with traditional
MFC apps. CScreenSaver provides an MFC class framework to allow screen savers to
be built using "normal" MFC code.
Features
- Simple and clean C++
interface.
- The code uses standard MFC
concepts to allow screen savers to be created. This includes CWinApp and
CWnd derived classes and C++ virtual functions.
- The code is Unicode enabled
and build configurations are provided.
- The code handles the
differences between Windows 9x and NT/Windows 2000 screen savers with regard
to passwords transparently.
- The code is multi - monitor
aware.
The enclosed zip file contains the
CScreenSaver source code and a sample screen saver application which
exercises the classes.
Copyright
- You are allowed to include the source code in
any product (commercial, shareware, freeware or otherwise) when your product
is released in binary form.
- You are allowed to modify the source code in
any way you want except you cannot modify the copyright details at the top
of each module.
- If you want to distribute source code with
your application, then you are only allowed to distribute versions released
by the author. This is to maintain a single distribution point for the
source code.
Updates
V1.0 (5 May 2000)
V1.01 (6 January 2006)
- Updated the copyright details and general code cleanup.
- CScreenSaverApp::ChangePassword method now returns a BOOL to indicate
success.
- Fixed a number of issues when code is compiled using the "Detect 64 bit
portability issues" in Visual Studio .NET 2003. To address this issue, it
does mean that you require the Platform SDK to be installed and configured
if you want to compile the code in Visual C++ 6.
- Removed some unnecessary comments from
CScreenSaverApp::ShowConfigureDialog.
- Fixed a bug in CScreenSaveWnd::OnClose where it would incorrectly prompt
for a password when the screen saver preview was being displayed and you
were running on Windows 9x. Thanks to Jason Yang for reporting this bug.
- Updated the documentation to use the same style as the web site.
V1.02 (18 July 2006)
- Code now uses new C++ style casts rather than old style C casts where
necessary.
- Replaced calls to ZeroMemory with memset
- Reviewed TRACE statements for correctness
- Verified code compiles cleanly on VC 2005
- Addition of CSCREENSAVER_EXT_CLASS preprocessor macro to allow the
classes to be easily added to an extension dll.