ChangeDisplaySettings
The ChangeDisplaySettings
function changes the display settings to the specified graphics mode.
LONG ChangeDisplaySettings(
LPDEVMODE lpDevMode, |
|
DWORD dwflags |
|
); |
|
Parameters
lpDevMode
Pointer to a DEVMODE
Member |
Meaning |
dmBitsPerPel |
Bits per
pixel |
dmPelsWidth |
Pixel width |
dmPelsHeight |
Pixel
height |
dmDisplayFlags |
Mode flags |
dmDisplayFrequency |
Mode
frequency |
In addition
to setting a value in one or more of the preceding DEVMODE members, you
must also set the appropriate flags in the dmFields member. The flags
indicate which members of the DEVMODE structure are used for the display
settings change. If the appropriate bit is not set in dmFields, the
display setting will not be changed. Set one or more of the following flags:
Flag |
Meaning |
DM_BITSPERPEL |
Use the dmBitsPerPel
value. |
DM_PELSWIDTH |
Use the dmPelsWidth
value. |
DM_PELSHEIGHT |
Use the dmPelsHeight
value. |
DM_DISPLAYFLAGS |
Use the dmDisplayFlags
value. |
DM_DISPLAYFREQENCY |
Use the dmDisplayFrequency
value. |
If lpDevMode
is NULL, all the values currently in the registry will be used for the display
setting. Passing NULL for the lpDevMode parameter is the easiest way to
return to the default mode after a dynamic mode change.
dwflags
Indicates how
the graphics mode should be changed. May be one of the following:
Flag |
Meaning |
0 |
The
graphics mode for the current screen will be changed dynamically. |
CDS_UPDATEREGISTRY |
The
graphics mode for the current screen will be changed dynamically and the
graphics mode will be updated in the registry. The mode information is stored
in the USER profile. |
CDS_TEST |
The system
tests if the requested graphics mode could be set. |
If CDS_UPDATEREGISTRY
is specified and it is possible to change the graphics mode dynamically, the
information is stored in the registry and DISP_CHANGE_SUCCESSFUL is returned.
If it is not possible to change the graphics mode dynamically, the information
is stored in the registry and DISP_CHANGE_RESTART is returned.
Windows
NT: If the information could not be
stored in the registry, the graphics mode is not changed and
DISP_CHANGE_NOTUPDATED is returned.
Specifying
CDS_TEST allows an application to determine which graphics modes are actually
valid, without causing the system to change to that graphics mode.
Return Values
Returns one
of the following values:
Value |
Meaning |
DISP_CHANGE_SUCCESSFUL |
The
settings change was successful. |
DISP_CHANGE_RESTART |
The
computer must be restarted in order for the graphics mode to work. |
DISP_CHANGE_BADFLAGS |
An invalid
set of flags was passed in. |
DISP_CHANGE_FAILED |
The display
driver failed the specified graphics mode. |
DISP_CHANGE_BADMODE |
The
graphics mode is not supported. |
DISP_CHANGE_NOTUPDATED |
Windows
NT only: Unable to write settings
to the registry. |
Remarks
Using the DEVMODE
When the
display mode is changed dynamically, the WM_DISPLAYCHANGE message is sent to
all running applications with the following message parameters:
Parameters |
Meaning |
wParam |
New bits
per pixel |
LOWORD(lParam) |
New pixel
width |
HIWORD(lParam) |
New pixel
height |
See Also