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 [仅限桌面应用] |
标头 |
|
另请参阅