WM_SETTINGCHANGE是个Windows的常用消息,当程序修改了SystemParametersInfo设置,则Windows就会广播此消息。但WM_SETTINGCHANGE也比较多地用在其它情形。
一般情况下,wParam/uFlags时0,lParam/pszSection是WIN.INI段名或被修改部分的注册表键(只是最终的键,而不是整个串)。事实上,WM_SETTINGCHANGE常被叫做WM_WININICHANGE,这两个符号在#define中的值也一样!当IActiveDesktop广播设置修改时,它将“ShellState”作为段名来传递,因为活动桌面设置被存储在一个注册表键中:
\HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellState
另外,如果你要广播自己修改的全程设置,也可以使用WM_SETTINGCHANGE。广播是应该使用SendMessageTimeout(HWND_BROADCAST, ...)函数
刷新系统环境变量
有时候在