v1.03 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.
- 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 fully Unicode compliant, compiles cleanly at level 4, is
/analyze clean and includes full SAL annotations.
- The code is multi-monitor aware.
The enclosed zip file contains the
CScreenSaver source code and a sample VC2005 screen saver application which
exercises the classes.
- 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
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
- 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
- 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
- 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.
V1.03 (30 January 2016)
- Updated copyright details.
- Remove VC 6 style classwizard style comments from the code
- Removed the code in the classes which supports Windows 9x.
- Updated the code to compile cleanly in VC 2005 - 2015.
- Updated the sample apps main icon.
- Added SAL annotations to all the code.
- CScreenSaverApp::InitInstance now calls the base class InitInstance
- Removed unnecessary CScreenSaverWnd::m_bDialogUp member variable