Поделиться через


сообщение WM_SETTINGCHANGE

Сообщение, которое отправляется во все окна верхнего уровня, когда функция SystemParametersInfo изменяет параметр для всей системы или при изменении параметров политики.

Приложения должны отправлять WM_SETTINGCHANGE во все окна верхнего уровня при внесении изменений в системные параметры. (Это сообщение не может быть отправлено непосредственно в окно.) Чтобы отправить сообщение WM_SETTINGCHANGE во все окна верхнего уровня, используйте функцию SendMessageTimeout с параметром hwnd , равным HWND_BROADCAST.

Окно получает это сообщение через функцию WindowProc .

#define WM_WININICHANGE                 0x001A
#define WM_SETTINGCHANGE                WM_WININICHANGE

Параметры

wParam

Когда система отправляет это сообщение в результате вызова SystemParametersInfo , параметр wParam — это значение параметра uiAction , переданное в функцию SystemParametersInfo . Список значений см. в разделе SystemParametersInfo.

Когда система отправляет это сообщение в результате изменения параметров политики, этот параметр указывает тип примененной политики. Это значение равно 1, если политика компьютера была применена, или ноль, если политика пользователя была применена.

Когда система отправляет это сообщение в результате изменения параметров языкового стандарта, этот параметр равен нулю.

Когда приложение отправляет это сообщение, этот параметр должен иметь значение NULL.

lParam

Когда система отправляет это сообщение в результате вызова SystemParametersInfo , lParam является указателем на строку, которая указывает область, содержащую системный параметр, который был изменен. Этот параметр обычно не указывает, какой конкретный системный параметр был изменен. (Обратите внимание, что некоторые приложения отправляют это сообщение с параметром lParam, имеющим значение NULL.) Как правило, при получении этого сообщения следует проверка и перезагрузить все параметры системных параметров, используемые приложением.

Эта строка может быть именем раздела реестра или разделом в файле Win.ini. Если строка является именем реестра, она обычно указывает только конечный узел в реестре, а не полный путь.

Когда система отправляет это сообщение в результате изменения параметров политики, этот параметр указывает на строку Policy.

Когда система отправляет это сообщение в результате изменения параметров языкового стандарта, этот параметр указывает на строку "intl".

Чтобы изменить переменные среды для системы или пользователя, передайте это сообщение с параметром lParam в строку "Среда".

Возвращаемое значение

Тип: LRESULT

Если вы обработаете это сообщение, верните ноль.

Комментарии

Параметр lParam указывает, какая системная метрика изменилась, например ConvertibleSlateMode, если индикатор CONVERTIBLESLATEMODE был переключен, или SystemDockMode, если индикатор DOCKED был переключен.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Winuser.h (включая Windows.h)

См. также раздел

События политики

SendMessageTimeout

SystemParametersInfo