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 です。
ロケール設定の変更の結果としてシステムがこのメッセージを送信すると、このパラメーターは 0 になります。
アプリケーションがこのメッセージを送信する場合、このパラメーターは NULL である必要があります。
-
lParam
-
システムが SystemParametersInfo 呼び出しの結果としてこのメッセージを送信すると、lParam は、変更されたシステム パラメーターを含む領域を示す文字列へのポインターです。 通常、このパラメーターは、どの特定のシステム パラメーターが変更されたかを示すものではありません。 (一部のアプリケーションでは、このメッセージが送信され、lParam が NULL に設定されていることに注意してください)。一般に、このメッセージが表示されたら、アプリケーションで使用されているシステム パラメーター設定をチェックして再読み込みする必要があります。
この文字列には、レジストリ キーの名前、またはWin.ini ファイル内のセクションの名前を指定できます。 文字列がレジストリ名の場合、通常はレジストリ内のリーフ ノードのみを示し、完全パスは示しません。
システムがポリシー設定の変更の結果としてこのメッセージを送信すると、このパラメーターは文字列 "Policy" を指します。
ロケール設定の変更の結果としてシステムがこのメッセージを送信すると、このパラメーターは文字列 "intl" を指します。
システムまたはユーザーの環境変数の変更を有効にするには、 lParam を文字列 "Environment" に設定してこのメッセージをブロードキャストします。
戻り値
型: LRESULT
このメッセージを処理する場合は、0 を返します。
注釈
lParam パラメーターは、システム メトリックが変更されたことを示します。たとえば、CONVERTIBLESLATEMODE インジケーターが切り替えられた場合は "ConvertibleSlateMode" 、DOCKED インジケーターが切り替えられた場合は "SystemDockMode" などです。
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
関連項目