Win32 API. Структуры и сообщения окна
Страница 43. Сообщение WM_SETTINGCHANGE


Сообщение WM_SETTINGCHANGE

Система посылает сообщение WM_SETTINGCHANGE всем окнам верхнего уровня, когда функция SystemParametersInfo изменяет установки на системном уровне. Система посылает это сообщение только тогда, если вызывающая функция SystemParametersInfo устанавливает флажок SPIF_SENDCHANGE. Прикладная программа может посылать WM_SETTINGCHANGE всем окнам верхнего уровня, когда она делает изменения для параметров системы. Например, Вы можете посылать это сообщение после обращения к функциям WriteProfileString, WriteProfileSection или SetLocaleInfo, или после создания изменений для параметров системы в системном реестре.Сообщение WM_SETTINGCHANGE - то же самое, что и старое сообщение WM_WININICHANGE.

Синтаксис

 
WM_SETTINGCHANGE
wParam = wFlag; // флажок параметров на системном уровне
lParam = (LPARAM) (LPCTSTR) pszSection; // наименование раздела или реестра

Параметры

wFlag
Значение wParam. Когда система посылает сообщению в результате обращения к System-ParametersInfo, этот параметр - флажок, который указывает параметр системы, который был изменен. О списке значений, см. функцию SystemParametersInfo. Когда прикладная программа посылает со-общение, этот параметр должен быть ПУСТО (NULL).
pszMetrics
Значение lParam. Указатель на строку, которая указывает область, содержащую параметр системы который был изменен. Например, эта строка может быть имя ключа реестра или имя раздела в файле WIN.INI. Этот параметр не особенно полезен в определении, какой изменился параметр системы. Например, когда строка - имя системного реестра, она обычно указывает только вершину в системном реестре, а не весь путь. Кроме того, некоторые прикладные программы посылают это сообщение с установкой параметра lParam в ПУСТО (NULL). Вообще, когда Вы принимаете это сообщение, Вы должны проверять и перезагружать любые настройки параметров системы, которые используются вашей прикладной программой.

Возвращаемые значения
Если вы обрабатываете это сообщение, возвращаемое значение - ноль.

Замечания
Чтобы послать сообщение WM_SETTINGCHANGE всем окнам верхнего уровня, используйте функцию SendMessage с параметром hwnd установленным в HWND_BROADCAST. Вызовите функции, которые изменяют файл WIN.INI, который может быть отображен взамен системного реестра. Это отображение происходит тогда, когда файл WIN.INI и изменяемый раздел установлены в системном реестре под следующими ключами:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping

Изменение в ячейке памяти не имеет никакого влияния на поведении этого сообщения.

Смотри также
SendMessage, SetLocaleInfo, SystemParametersInfo, WM_WININICHANGE, WriteProfileSection, WriteProfileString

Размещение и совместимость WM_SETTINGCHANGE

Windows NTДа 
Win95Да
Win32sДа
Импортируемая библиотека-
Заголовочный файлwinuser.h
UnicodeWinNT
Замечания по платформеНе имеется

 
« Предыдущая статья   Следующая статья »