WM_SETTINGCHANGE
The system
sends the WM_SETTINGCHANGE message to all top-level windows when the SystemParametersInfo
An application
can send WM_SETTINGCHANGE to all top-level windows when it makes changes to
system parameters. For example, you can send this message after a call to the WriteProfileString
The
WM_SETTINGCHANGE message is the same as the older WM_WININICHANGE message.
WM_SETTINGCHANGE
wParam = wFlag; // system-wide
parameter flag
lParam = (LPARAM) (LPCTSTR) pszSection; // name of
changed section or registry
Parameters
wFlag
Value of wParam.
When the system sends the message as a result of a SystemParametersInfo
When an
application sends the message, this parameter must be NULL.
pszMetrics
Value of lParam.
Pointer to a string that indicates the area containing the system parameter
that was changed. For example, this string can be the name of a registry key or
the name of a section in the WIN.INI file.
This
parameter is not particularly useful in determining which system parameter
changed. For example, when the string is a registry name, it typically
indicates only the leaf node in the registry, not the whole path. In addition,
some applications send this message with lParam set to NULL. In general,
when you receive this message, you should check and reload any system parameter
settings that are used by your application.
Return Values
If you
process this message, return zero.
Remarks
To send the
WM_SETTINGCHANGE message to all top-level windows, use the SendMessage
Calls to
functions that change the WIN.INI file might be mapped to the registry instead.
This mapping occurs when the WIN.INI file and the section being changed are
specified in the registry under the following keys:
HKEY_LOCAL_MACHINE\Software\Microsoft\
Windows NT\CurrentVersion\IniFileMapping
The change in
the storage location has no effect on the behavior of this message.
See Also