Страница 43 из 56
Сообщение 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 Замечания по платформеНе имеется |