WM_SETTINGCHANGE消息

SystemParametersInfo 函数更改系统范围的设置或策略设置发生更改时,将发送到所有顶级窗口的消息。

应用程序在更改系统参数时应将 WM_SETTINGCHANGE 发送到所有顶级窗口。 (无法将此消息直接发送到窗口。) 若要将 WM_SETTINGCHANGE 消息发送到所有顶级窗口,请使用 SendMessageTimeout 函数,并将 hwnd 参数设置为 HWND_BROADCAST

窗口通过其 WindowProc 函数接收此消息。

#define WM_WININICHANGE                 0x001A
#define WM_SETTINGCHANGE                WM_WININICHANGE

参数

wParam

当系统由于 SystemParametersInfo 调用而发送此消息时,wParam 参数是传递给 SystemParametersInfo 函数的 uiAction 参数的值。 有关值的列表,请参阅 SystemParametersInfo

当系统由于策略设置更改而发送此消息时,此参数指示所应用的策略类型。 如果应用了计算机策略,则此值为 1;如果应用了用户策略,则此值为 0。

当系统由于区域设置更改而发送此消息时,此参数为零。

当应用程序发送此消息时,此参数必须为 NULL

lParam

当系统由于 SystemParametersInfo 调用而发送此消息时, lParam 是指向字符串的指针,该字符串指示包含已更改的系统参数的区域。 此参数通常不指示更改了哪个特定系统参数。 (请注意,某些应用程序发送此消息时 lParam 设置为 NULL.) 通常,收到此消息时,应检查并重新加载应用程序使用的任何系统参数设置。

此字符串可以是注册表项的名称,也可以是Win.ini文件中节的名称。 当字符串是注册表名称时,它通常只指示注册表中的叶节点,而不是完整路径。

当系统由于策略设置更改而发送此消息时,此参数指向字符串“Policy”。

当系统由于区域设置更改而发送此消息时,此参数指向字符串“intl”。

若要对系统或用户的环境变量进行更改,请广播此消息,并将 lParam 设置为字符串“Environment”。

返回值

类型: LRESULT

如果处理此消息,则返回零。

备注

lParam 参数指示哪个系统指标已更改,例如,如果切换了 CONVERTIBLESLATEMODE 指示器,则为“ConvertibleSlateMode”;如果已切换 DOCKED 指示器,则为“SystemDockMode”。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Winuser.h(包括 Windows.h)

另请参阅

策略事件

SendMessageTimeout

SystemParametersInfo