ResSwitch &
ResCopy v1.24 2 utilities including MFC source code to enumerate and change
display mode (Obsolete)
Tired of using the Windows Control panel to quickly change your graphics cards
display mode. This program uses the command line sent to it, to change the display
mode. With this structure you can create a number of shortcuts to ResSwitch on your
desktop using different command lines which will allow you to change mode with a
simple double click on your desktop. By setting up shortcut keys in the shortcut
file to ResSwitch you can quickly change modes by just using the keyboard only.
Also included is ResCopy which is a simple dialog based app which lists all the
display devices and available display modes which ResSwitch can use. It also allows
a filename to be specified via its command line, using this will just output the
available display devices and display modes to that file a line at a time without
displaying the dialog.
The enclosed zip file contains the ResSwitch
and ResCopy source code, and some MFC classes to wrap access to the two underlying
API's ResSwitch and ResCopy uses and a prebuilt binary version of both programs.
The enclosed binary requires that you have the MFC 6 DLLs already installed.
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
27 March 2010
- Since I last updated this code back in 2008, I've got multiple requests
from people to improve ResSwitch and ResCopy. I have been promising to get back
to this code for a long time, but I've never really had the time as it was such
a trivial application which did not really interest me too much. Rather than
keep people hanging around for something what may never be delivered, I now
consider this code as obsolete as a quick google shows there are many better
utilities out there which achieve what ResSwitch and ResCopy was originally
designed for. For example check out Display Changer from Stefan Tucker which
supports features such as detaching and re-attaching monitors, running programs
after the display change as well as optionally restoring the resolution when
the program exists.
2 July 2008
- Updated zip file to include missing ResSwitch.h file. Thanks to Hugo Roy
for reporting this issue.
v1.24 (12 March 2008)
- Updated copyright details.
- Fixed a bug in CMyCommandLineInfo::ParseParam in ResSwitch.cpp where the
/DEVICE command line parameter was being parsed incorrectly. Thanks to Ron Cozad
for reporting this bug.
- Removed VC 6 style comments from the code base.
- Updated the code to clean compile on VC 2008
v1.23 (3 April 2007)
- Updated copyright details.
- Updated the documentation to use the same style as the web site.
- Optimized CVideoMode constructor code
- Replaced call to _tprintf in GetCurrentVideoMode with a TRACE call.
- Made the ResSwitch app unicode compliant.
- Updated the code to clean compile on VC 2005
- Now includes support for multiple monitors / display devices. This is achieved
through the use of the newly provided CDisplayDevices class
- GetAvailableVideoModes method now allows the device name to be specified
for which display modes are to be obtained and the method has been renamed to
just GetAvailable.
- GetCurrentVideoMode has been renamed to the more appropriate name of GetCurrentForPrimaryDisplay
- Removed RevertVideoModeToDefault, ChangeVideoModePermanently, ChangeVideoModeTemporarily,
CanChangeVideoMode, ReportChangeVideoErrorValue and CreateCompatibleDEVMODE
methods as they did not provide any useful encapsulation over calling the ChangeDisplaySettings
SDK call directly. You can now think of the various classes in the Videomod
module as a simple wrapper for enumerating the display devices and their associated
display modes.
- Added a m_dwDisplayFlags value to the CVideoMode class.
- CAvailableVideoModes class is now called CAvailableDisplayModes.
- CVideoMode class is now called CDisplayMode
- CVideoModes class is now called CAvailableDisplayModes
- Updated the documentation to use the same style as the web site.
- Reworked ResCopy example to use a tree control to display all the details
about all display devices, their attributes and available display modes
- Addition of version infos to both exes included in the download.
- Reworked ResSwitch application to provide a much more comprehensive set
of command line parameters as well a general rework of its codebase.
v1.22 (17 January 2001)
- ResSwitch now uses CVideoModes::ChangeVideoModePermanently instead of CVideoModes::ChangeVideoModeTemporarily.
This prevents a problem which occurs on Windows 2000 where the taskbar is not
repositioned correctly. Thanks to Greg Wood for spotting this problem.
- Now includes copyright message in the source code and documentation.
v1.21 (6 March 2000)
- Now included is ResCopy (instead of ResList) which is a simple dialog based
app which lists the available video modes which ResSwitch can use. It also allows
a filename to be specified via its command line, using this will just output
the available video modes to that file a line at a time without displaying the
dialog.
v1.2 (4 January 1999)
- Changed name (yet again) from "QRes" to "ResSwitch"
to avoid conflict with another similarly named third party product.
- Source code now ships with Visual C++ 5 workspace files now as standard.
- All source code is now fully UNICODE enabled and UNICODE build configurations
are now provided.
- General tidy up of the codebase.
v1.1 (25 September 1997)
- Changed name "QuickerRes" to "QRes" to avoid conflict
with an similarly named third party product.
- Now supports setting the monitor frequency (NT only according to the documentation).
- Inclusion of a new console mode program called QList (binary & source
code) with enumerates all the video modes available. Comes in helpful if QRes
is reporting that some options you select is unavailable.