SystemParametersInfo

https://msdn.microsoft.com/ja-jp/library/ms695625.aspx https://msdn.microsoft.com/ja-jp/library/ms695612.aspx https://msdn.microsoft.com/ja-jp/library/ms695609.aspx https://msdn.microsoft.com/ja-jp/library/ms695633.aspx https://msdn.microsoft.com/ja-jp/library/ms695626.aspx https://msdn.microsoft.com/ja-jp/library/ms695628.aspx https://msdn.microsoft.com/ja-jp/library/ms695608.aspx https://msdn.microsoft.com/ja-jp/library/ms695611.aspx https://msdn.microsoft.com/ja-jp/library/ms695625.aspx https://msdn.microsoft.com/ja-jp/library/ms695612.aspx https://msdn.microsoft.com/ja-jp/library/ms695609.aspx https://msdn.microsoft.com/ja-jp/library/ms695633.aspx https://msdn.microsoft.com/ja-jp/library/ms695626.aspx https://msdn.microsoft.com/ja-jp/library/ms695628.aspx https://msdn.microsoft.com/ja-jp/library/ms695608.aspx https://msdn.microsoft.com/ja-jp/library/ms695611.aspx https://msdn.microsoft.com/ja-jp/library/ms536136.aspx https://msdn.microsoft.com/ja-jp/library/cc428707.aspx https://msdn.microsoft.com/ja-jp/library/ms536136.aspx https://msdn.microsoft.com/ja-jp/library/ms648054.aspx https://msdn.microsoft.com/ja-jp/library/ms533931.aspx https://msdn.microsoft.com/ja-jp/library/ms648054.aspx https://msdn.microsoft.com/ja-jp/library/ms533931.aspx https://msdn.microsoft.com/ja-jp/library/cc410921.aspx https://msdn.microsoft.com/ja-jp/library/ms646265.aspx https://msdn.microsoft.com/ja-jp/library/ms645613.aspx https://msdn.microsoft.com/ja-jp/library/ms646265.aspx https://msdn.microsoft.com/ja-jp/library/cc411070.aspx https://msdn.microsoft.com/ja-jp/library/ms646258.aspx https://msdn.microsoft.com/ja-jp/library/cc410921.aspx https://msdn.microsoft.com/ja-jp/library/ms646265.aspx https://msdn.microsoft.com/ja-jp/library/ms633548.aspx https://msdn.microsoft.com/ja-jp/library/ms632669.aspx https://msdn.microsoft.com/ja-jp/library/ms632669.aspx https://msdn.microsoft.com/ja-jp/library/ms632669.aspx https://msdn.microsoft.com/ja-jp/library/ms632669.aspx https://msdn.microsoft.com/ja-jp/library/ms724197.aspx https://msdn.microsoft.com/ja-jp/library/ms633539.aspx https://msdn.microsoft.com/ja-jp/library/ms724500.aspx https://msdn.microsoft.com/ja-jp/library/ms724506.aspx https://msdn.microsoft.com/ja-jp/library/ms724197.aspx https://msdn.microsoft.com/ja-jp/library/ms633539.aspx https://msdn.microsoft.com/ja-jp/library/ms724500.aspx https://msdn.microsoft.com/ja-jp/library/ms724506.aspx https://msdn.microsoft.com/ja-jp/library/ms725497.aspx https://msdn.microsoft.com/ja-jp/library/cc428944.aspx https://msdn.microsoft.com/ja-jp/library/ms776327.aspx https://msdn.microsoft.com/ja-jp/library/ms695625.aspx https://msdn.microsoft.com/ja-jp/library/ms724197.aspx https://msdn.microsoft.com/ja-jp/library/ms695612.aspx https://msdn.microsoft.com/ja-jp/library/ms695609.aspx https://msdn.microsoft.com/ja-jp/library/ms648054.aspx https://msdn.microsoft.com/ja-jp/library/ms533931.aspx https://msdn.microsoft.com/ja-jp/library/ms776327.aspx https://msdn.microsoft.com/ja-jp/library/ms724500.aspx https://msdn.microsoft.com/ja-jp/library/ms695633.aspx https://msdn.microsoft.com/ja-jp/library/ms724506.aspx https://msdn.microsoft.com/ja-jp/library/ms536136.aspx https://msdn.microsoft.com/ja-jp/library/ms695626.aspx https://msdn.microsoft.com/ja-jp/library/ms695628.aspx https://msdn.microsoft.com/ja-jp/library/ms695608.aspx https://msdn.microsoft.com/ja-jp/library/ms695611.aspx https://msdn.microsoft.com/ja-jp/library/ms725497.aspx

システム全体に関するパラメータのいずれかを取得または設定します。この関数を使ってパラメータを設定する際に、ユーザープロファイルを更新することもできます。

BOOL SystemParametersInfo(
  UINT uiAction,  // 取得または設定するべきシステムパラメータ
  UINT uiParam,   // 実施するべき操作によって異なる
  PVOID pvParam,  // 実施するべき操作によって異なる
  UINT fWinIni    // ユーザープロファイルの更新オプション
);

パラメータ

uiAction
取得または設定するべき、システム全体のパラメータを指定します。次の値のいずれかを指定します。

アクセシビリティ(ユーザー補助機能)のフラグは、次のとおりです。

ユーザー補助のフラグ 意味
SPI_GETACCESSTIMEOUT ユーザー補助に関連付けられているタイムアウト時間に関する情報を取得します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。関数から制御が返ると、この構造体に、ユーザー補助のタイムアウト時間に関する情報が格納されます。ACCESSTIMEOUT 構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(ACCESSTIMEOUT) を指定します。
SPI_GETFILTERKEYS ユーザー補助のフィルタキーに関する情報を取得します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。関数から制御が返ると、この構造体に、フィルタキーに関する情報が格納されます。FILTERKEYS 構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(FILTERKEYS) を指定します。
SPI_GETHIGHCONTRAST Windows 95/98 と Windows 2000:ユーザー補助のハイコントラスト機能に関する情報を取得します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。関数から制御が返ると、この構造体に、ハイコントラスト機能に関する情報が格納されます。HIGHCONTRAST 構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(HIGHCONTRAST) を指定します。
SPI_GETMOUSEKEYS ユーザー補助のマウスキーに関する情報を取得します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。関数から制御が返ると、この構造体に、マウスキーに関する情報が格納されます。MOUSEKEYS 構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(MOUSEKEYS) を指定します。
SPI_GETSCREENREADER Windows 95/98 と Windows 2000:スクリーンリーダー(スクリーンレビューアユーティリティとも呼びます)が動作しているかどうかを調べます。スクリーンリーダーは、文字情報をスピーチシンセサイザや点字ディスプレイなどのデバイスへ送信します。このフラグが指定されている場合、アプリケーションは、通常はグラフィックで表示される情報を、テキスト形式で提供するべきです。

pvParam パラメータで、1 個の BOOL 型変数へのポインタを指定します。スクリーンリーダーが動作している場合はこの変数に 0 以外の値(TRUE)が、それ以外の場合は 0(FALSE)が格納されます。

SPI_GETSERIALKEYS Windows 95/98:ユーザー補助のシリアルキーデバイスに関する情報を取得します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。関数から制御が返ると、この構造体に、シリアルキーデバイスに関する情報が格納されます。SERIALKEYS 構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(SERIALKEYS) を指定します。

Windows NT/2000:サポートされていません。

SPI_GETSHOWSOUNDS ユーザー補助の「サウンド解説を使う」が有効になっているかどうかを調べます。この機能がオンになっている場合、通常は情報をサウンドでのみ提供する状況で、その情報を画面に表示するようユーザーが要求していることを意味します。pvParam パラメータで、1 個の BOOL 型変数へのポインタを指定します。この機能が有効になっている場合はこの変数に TRUE が、無効になっている場合は FALSE が格納されます。

この関数でこの値を指定すると、GetSystemMetrics (SM_SHOWSOUNDS) を呼び出した場合と同じ結果が得られます。後者の方法が推奨されています。

SPI_GETSOUNDSENTRY ユーザー補助のサウンド表示に関する情報を取得します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。関数から制御が返ると、この構造体に、サウンド表示に関する情報が格納されます。SOUNDSENTRY 構造体の cbSize メンバと、この関数の uiParam パラメータで、sizeof(SOUNDSENTRY) を指定します。
SPI_GETSTICKYKEYS ユーザー補助の固定キーに関する情報を取得します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。関数から制御が返ると、この構造体に、固定キーに関する情報が格納されます。STICKYKEYS 構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(STICKYKEYS) を指定します。
SPI_GETTOGGLEKEYS ユーザー補助の切り替え(トグル)キーに関する情報を取得します。pvParam パラメータで、 構造体へのポインタを指定します。関数から制御が返ると、この構造体に、切り替えキーに関する情報が格納されます。関数を呼び出す前に、TOGGLEKEYS 構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(TOGGLEKEYS) を指定します。
SPI_SETACCESSTIMEOUT ユーザー補助機能に関連付けられているタイムアウト時間に関する情報を設定します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。この構造体で、新しいパラメータを指定しておきます。この構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(ACCESSTIMEOUT) を指定します。
SPI_SETFILTERKEYS ユーザー補助のフィルタキーに関する情報を設定します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。この構造体で、新しいパラメータを指定しておきます。この構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(FILTERKEYS) を指定します。
SPI_SETHIGHCONTRAST Windows 95/98 と Windows 2000:ユーザー補助のハイコントラスト機能に関する情報を設定します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。この構造体で、新しいパラメータを指定しておきます。この構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(HIGHCONTRAST) を指定します。
SPI_SETMOUSEKEYS ユーザー補助のマウスキーに関する情報を設定します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。この構造体で、新しいパラメータを指定しておきます。この構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(MOUSEKEYS) を指定します。
SPI_SETSCREENREADER Windows 95/98 と Windows 2000:スクリーンリーダー(スクリーンレビューアユーティリティとも呼びます)を動作させるかどうかを設定します。uiParam パラメータで、動作させる場合は 0 以外の値(TRUE)を、動作させない場合は 0(FALSE)を指定します。
SPI_SETSERIALKEYS Windows 95/98:ユーザー補助のシリアルキーデバイスに関する情報を設定します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。この構造体で、新しいパラメータを指定しておきます。この構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(SERIALKEYS) を指定します。

Windows NT/2000:サポートされていません。

SPI_SETSHOWSOUNDS ユーザー補助の「サウンド解説を使う」を有効または無効に設定します。uiParam パラメータで、この機能を有効にする場合は 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。
SPI_SETSOUNDSENTRY ユーザー補助のサウンド表示に関する情報を設定します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。この構造体で、新しいパラメータを指定しておきます。この構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(SOUNDSENTRY) を指定します。
SPI_SETSTICKYKEYS ユーザー補助の固定キーに関する情報を設定します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。この構造体で、新しいパラメータを指定しておきます。この構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(STICKYKEYS) を指定します。
SPI_SETTOGGLEKEYS ユーザー補助のトグルキーに関する情報を設定します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。この構造体で、新しいパラメータを指定しておきます。この構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(TOGGLEKEYS) を指定します。

デスクトップのフラグは、次のとおりです。

デスクトップのフラグ 意味
SPI_GETDESKWALLPAPER Windows 2000:デスクトップの壁紙として表示されるビットマップのフルパス名を取得します。pvParam パラメータで、1 個のバッファへのポインタを指定します。関数から制御が返ると、このバッファに、フルパス名を表す、NULL で終わる文字列が格納されます。uiParam パラメータで、pvParam パラメータが指すバッファのサイズを文字数単位で指定します。取得される文字列は、MAX_PATH 文字以内です。デスクトップの壁紙が指定されていない場合、空文字列が取得されます。
SPI_GETFONTSMOOTHING フォントスムージング機能(スクリーンフォントの縁をなめらかにする機能)が有効になっているかどうかを調べます。この機能を有効にすると、フォントの境界を通常とは異なるグレースケールで表示することによってアンチエイリアシングを行い、フォントの曲線を滑らかに見せます。

pvParam パラメータで、1 個の BOOL 型変数へのポインタを指定します。スムージング機能が有効になっている場合はこの変数に 0 以外の値(TRUE)が、それ以外の場合は 0(FALSE)が格納されます。

Windows 95:SPI_GETFONTSMOOTHING フラグは、Microsoft Plus!が既にインストールされている場合にのみ使えます。詳細については、この関数の最後の方にある「Windows 95/98 のフラグ」の表の SPI_GETWINDOWSEXTENSION を参照してください。

SPI_GETWORKAREA プライマリモニタの作業領域のサイズを取得します。作業領域とは、画面全体からシステムのタスクバーやアプリケーションのツールバーが占有する領域を除いた部分を意味します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。関数から制御が返ると、この構造体に、仮想画面の座標に基づく、作業領域の座標が格納されます。

プライマリモニタ以外のモニタの作業領域を取得するには、 関数を使います。

SPI_SETCURSORS システムカーソルを再ロードします。uiParam パラメータで 0 を、pvParam パラメータで NULL を指定してください。
SPI_SETDESKPATTERN Win.ini ファイルの Pattern= エントリを読み込むよう Windows に指示し、デスクトップのパターンを設定します。
SPI_SETDESKWALLPAPER デスクトップに表示される壁紙を設定します。pvParam パラメータの値に基づいて、新しい壁紙が決まります。壁紙のビットマップを指定するには、pvParam パラメータで、ビットマップファイルの名前を表す、NULL で終わる文字列へのポインタを指定します。pvParam パラメータで空の文字列("")を指定すると、壁紙は表示されなくなります。pvParam パラメータで SETWALLPAPER_DEFAULT または NULL を指定すると、既定の壁紙へ戻ります。
SPI_SETFONTSMOOTHING フォントスムージング機能(スクリーンフォントの縁をなめらかにする機能)を有効または無効にします。この機能を有効にすると、フォントの境界を通常とは異なるグレースケールで表示することによってアンチエイリアシングを行い、フォントの曲線を滑らかに見せます。

この機能を有効にする場合は uiParam パラメータで 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。

Windows 95:SPI_SETFONTSMOOTHING フラグは、Microsoft Plus!が既にインストールされている場合にのみ使えます。詳細については、この関数の最後の方にある「Windows 95/98 のフラグ」の表の SPI_GETWINDOWSEXTENSION を参照してください。

SPI_SETWORKAREA 作業領域のサイズを設定します。作業領域とは、画面全体からシステムのタスクバーやアプリケーションのツールバーが占有する領域を除いた部分を意味します。pvParam パラメータで、仮想画面の座標に基づく、設定するべき作業領域の座標を保持している、1 個の 構造体へのポインタを指定します。マルチモニタのシステムでは、この関数は、指定された長方形を保持しているモニタの作業領域を設定します。

パラメータで NULL を指定すると、この関数はプライマリモニタの作業領域を画面全体に設定します。


アイコンのフラグは、次のとおりです。

アイコンのフラグ 意味
SPI_GETICONMETRICS アイコンに関連付けられているメトリックを取得します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。関数から制御が返ると、この構造体に、アイコンのメトリックに関する情報が格納されます。ICONMETRICS 構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(ICONMETRICS) を指定します。
SPI_GETICONTITLELOGFONT アイコンのタイトルのフォントに関する論理フォント情報を取得します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。関数から制御が返ると、この構造体に、論理フォントの情報が格納されます。uiParam パラメータで、sizeof(LOGFONT) を指定します。
SPI_GETICONTITLEWRAP アイコンタイトルの折り返しが有効になっているかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数へのポインタを指定します。折り返しが有効になっている場合はこの変数に 0 以外の値(TRUE)が、それ以外の場合は 0(FALSE)が格納されます。
SPI_ICONHORIZONTALSPACING アイコンを整列するときに使われるグリッドの幅をピクセル単位で設定または取得します。アイコンの一覧を表示するときに、システムはこの幅を使います。

この値を設定する場合は、uiParam パラメータで新しい値を、pvParam パラメータで NULL を指定します。SM_CXICON 未満の値を指定することはできません。

この値を取得する場合は、pvParam パラメータで 1 個の整数型変数を指定します。関数から制御が返ると、この変数に、現在の値が格納されます。

SPI_ICONVERTICALSPACING アイコンを整列するときに使われるグリッドの高さを設定または取得します。

この値を設定する場合は、uiParam パラメータで新しい値を、pvParam パラメータで NULL を指定します。SM_CYICON 未満の値を指定することはできません。

この値を取得する場合は、pvParam パラメータで 1 個の整数型変数を指定します。関数から制御が返ると、この変数に、現在の値が格納されます。

SPI_SETICONMETRICS アイコンに関連付けられるメトリックを設定します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。この構造体で、新しいパラメータを指定しておきます。この構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(ICONMETRICS) を指定します。
SPI_SETICONS システムアイコンを再ロードします。uiParam パラメータで 0、pvParam パラメータで NULL を指定してください。
SPI_SETICONTITLELOGFONT アイコンのタイトルを表示するために使われるフォントを設定します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。この構造体で、新しいパラメータを指定しておきます。uiParam パラメータで、sizeof(LOGFONT) を指定します。
SPI_SETICONTITLEWRAP アイコンタイトルの折り返しを有効または無効にします。折り返しを有効にする場合は uiParam パラメータで 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。

入力フラグは次のとおりです。キーボード、マウス、入力言語、警告のビープ音に関係するフラグが含まれています。

入力フラグ 意味
SPI_GETBEEP 警告のビープ音がオンになっているかどうかを調べます。

pvParam パラメータで、1 個の BOOL 型変数へのポインタを指定します。ビープ音がオンになっている場合はこの変数に 0 以外の値(TRUE)が、オフになっている場合は 0(FALSE)が格納されます。

SPI_GETDEFAULTINPUTLANG システムの既定の入力言語を表す入力ロケール識別子(キーボードレイアウト)を取得します。pvParam パラメータで、1 個の HKL 型変数へのポインタを指定します。関数から制御が返ると、この変数に、入力ロケール識別子が格納されます。詳細については、MSDN ライブラリの「」を参照してください。
SPI_GETKEYBOARDCUES Windows 98 と Windows 2000:メニューアクセスキーに、必ず下線を付けるかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数を指定します。関数から制御が返ると、メニューアクセスキーに必ず下線を付ける場合はこの変数に 0 以外の値(TRUE)が、キーボードからメニューを呼び出したときのみ下線を付ける場合は 0(FALSE)が格納されます。
SPI_GETKEYBOARDDELAY キーボードのプロパティの「表示までの待ち時間」を取得します。0(リピート入力を開始するまで約 250ms の待ち時間)~3(約 1 秒の待ち時間)の範囲で値が規定されています。各値に対応する実際の待ち時間は、ハードウェアによって異なることがあります。pvParam パラメータで、1 個の整数型変数へのポインタを指定します。関数から制御が返ると、この変数に、待ち時間を示す値が格納されます。
SPI_GETKEYBOARDPREF Windows 95/98 と Windows 2000:ユーザー補助の「アプリケーションにキーボードのヘルプを追加する」(または「プログラムで追加のキーボードヘルプを表示する」)が有効になっているかどうかを調べます。これは、ユーザーがマウスではなく主にキーボードを使っていて、通常では表示されないキーボードインターフェイスを表示するようアプリケーションに要求していることを意味します。pvParam パラメータで、、1 個の BOOL 型変数へのポインタを指定します。この機能が有効になっている場合はこの変数に 0 以外の値(TRUE)が、無効になっている場合は 0(FALSE)が格納されます。
SPI_GETKEYBOARDSPEED キーボードのプロパティの「表示の間隔」を取得します。0(1 秒につき約 2.5 回のリピート入力)~31(1 秒につき約 30 回のリピート入力)の範囲で値が規定されています。実際のリピート入力回数はハードウェアによって異なり、線形のスケールとは最大 20% の違いがあります。pvParam パラメータで、1 個の DWORD 型変数へのポインタを指定します。関数から制御が返ると、この変数に、リピート回数を示す値が格納されます。
SPI_GETMOUSE マウスカーソルの移動速度と、アクセラレーションに関する 2 つのしきい値を取得します。pvParam パラメータで、3 つの要素からなる 1 つの整数型配列へのポインタを指定します。関数から制御が返ると、この配列に、これらの情報が格納されます。詳細については、 の説明を参照してください。
SPI_GETMOUSEHOVERHEIGHT Windows 98 と Windows NT4.0 以降: 関数が メッセージを生成するためにマウスカーソルがとどまっていなければならない範囲の高さを取得します。pvParam パラメータで、1 個の UINT 型変数へのポインタを指定します。関数から制御が返ると、この変数に、高さが格納されます。
SPI_GETMOUSEHOVERTIME Windows 98 と Windows NT 4.0 以降:TrackMouseEvent 関数が WM_MOUSEHOVER メッセージを生成するために、マウスカーソルがとどまっていなければならない時間をミリ秒(ms)単位で取得します。pvParam パラメータで、1 個の UNIT 型変数へのポインタを指定します。関数から制御が返ると、この変数に、時間が格納されます。
SPI_GETMOUSEHOVERWIDTH Windows 98 と Windows NT 4.0 以降: 関数が WM_MOUSEHOVER メッセージを生成するために、マウスカーソルがとどまっていなければならない範囲の幅を取得します。pvParam パラメータで、1 個の UINT 型変数へのポインタを指定します。関数から制御が返ると、この変数に、幅が格納されます。
SPI_GETMOUSESPEED Windows 98 と Windows 2000:マウスの現在の速度を取得します。マウスの速度は、マウスの移動距離に応じて、ポインタを移動させるべき距離を決定します。pvParame パラメータで、1 個の INT 型変数へのポインタを指定します。関数から制御が返ると、この変数に、1(最も遅い)~20(最も速い)の範囲の値が格納されます。既定の値は 10 です。エンドユーザーはコントロールパネルの「マウス」を使ってこの値を設定できますし、アプリケーションもこの関数で SPI_SETMOUSESPEED フラグを指定すると同様にこの値を設定できます。
SPI_GETMOUSETRAILS Windows 95/98:マウスポインタの軌跡を表示する機能が有効になっているかどうかを調べます。この機能が有効な場合、マウスの軌跡が短時間だけ表示され、すぐに消去されるので、マウスカーソルの移動状況を把握しやすくなります。

pvParam パラメータで、1 個の INT 型変数へのポインタを指定します。関数から制御が返ると、軌跡を表示しない場合はこの変数に 0 または 1 が、軌跡を表示する場合は 2 以上の値が格納されます。2 以上の値は、描画される軌跡の数を示します。uiParam パラメータは使いません。

Windows NT/2000:サポートされていません。

SPI_GETSNAPTODEFBUTTON Windows 98 と Windows NT 4.0 以降:マウスカーソルを既定のボタンへ自動的に移動させる機能が有効になっているかどうかを調べます。この機能が有効になっている場合、ダイアログボックス内の[OK]や[適用]のような既定のボタンへマウスカーソルが自動的に移動します。pvParam パラメータで、1 個の BOOL 型変数へのポインタを指定します。関数から制御が返ると、この機能が有効になっている場合はこの変数に 0 以外の値(TRUE)が、無効になっている場合は 0(FALSE)が格納されます。
SPI_GETWHEELSCROLLLINES Windows 98 と Windows NT 4.0 以降:マウスホイールを回転させたときにスクロールされる行数を取得します。pvParam パラメータで、1 個の UINT 型変数へのポインタを指定します。関数から制御が返ると、この変数に、行数が格納されます。既定の値は 3 です。
SPI_SETBEEP 警告のビープ音をオンまたはオフにします。uiParam パラメータで、ビープ音をオンにする場合は 0 以外の値(TRUE)を、オフにする場合は 0(FALSE)を指定します。
SPI_SETDEFAULTINPUTLANG システムのシェルとアプリケーションが利用する、既定の入力言語を設定します。現在のシステム文字セットを使って表示できる言語を指定しなければなりません。pvParam パラメータで、既定の言語の入力ロケール識別子(キーボードレイアウト)を保持している 1 個の HKL 型変数を指定します。詳細については、MSDN ライブラリの「」を参照してください。
SPI_SETDOUBLECLICKTIME マウスのダブルクリック時間を設定します。uiParam パラメータで、設定するべき時間をミリ秒(ms)単位で指定します。ダブルクリック時間とは、マウスを 1 回目にクリックしてから 2 回目にクリックするまでの時間の最大値を規定するもので、この時間以内にマウスを 2 回クリックすると、ダブルクリックが行われたものと見なします。 関数を使って、ダブルクリック時間を設定することもできます。現在のダブルクリック時間を取得するには、 関数を使います。
SPI_SETDOUBLECLKHEIGHT ダブルクリック操作を行う際に、最初のクリックが発生したときのカーソル(マウスカーソル)の位置を基準として、2 回目のクリック位置の許容範囲の高さを設定します。uiParam パラメータで、設定するべき高さを指定します。

1 回目のクリックの後、この許容範囲内でもう一度マウスをクリックすると、ダブルクリックが行われたものと見なされます。

ダブルクリック範囲を表す長方形の高さを取得するには、SM_CYDOUBLECLK フラグを指定して GetSystemMetrics 関数を呼び出します。

SPI_SETDOUBLECLKWIDTH ダブルクリック操作を行う際に、最初のクリックが発生したときのカーソル(マウスカーソル)の位置を基準として、2 回目のクリック位置の許容範囲の幅を設定します。uiParam パラメータで、設定するべき幅を指定します。

1 回目のクリックの後、この許容範囲内でもう一度マウスをクリックすると、ダブルクリックが行われたものと見なされます。

ダブルクリック範囲を表す長方形の幅を取得するには、SM_CXDOUBLECLK フラグを指定して GetSystemMetrics 関数を呼び出します。

SPI_SETKEYBOARDCUES Windows 98 と Windows 2000:メニューアクセスキーを表す文字に必ず下線を付けるかどうかを設定します。pvParam パラメータで、1 個の BOOL 型変数を指定します。メニューアクセスキーに必ず下線を付ける場合はこの変数で 0 以外の値(TRUE)を、キーボードからメニューを呼び出したときのみ下線を付ける場合は 0(FALSE)を指定します。
SPI_SETKEYBOARDDELAY キーボードのプロパティの「表示までの待ち時間」を設定します。uiParam パラメータで、0、1、2、3 のいずれかの値を指定します。0 は最短の待ち時間(リピート入力を開始するまで約 250ms の待ち時間)、3 は最長の待ち時間(約 1 秒の待ち時間)を設定します。各値に対応する実際の待ち時間は、ハードウェアによって異なることがあります。
SPI_SETKEYBOARDPREF Windows 95/98 と Windows 2000:ユーザー補助の「アプリケーションにキーボードのヘルプを追加する」(または「プログラムで追加のキーボードヘルプを表示する」)を設定します。ユーザーがマウスではなく主にキーボードを使っていて、通常は表示されていないキーボードのヘルプを追加するようアプリケーションに要求している場合は uiParam パラメータで 0 以外の値(TRUE)を、追加しない場合は 0 (FALSE)を指定します。
SPI_SETKEYBOARDSPEED キーボードのプロパティの「表示の間隔」を設定します。uiParam パラメータで、0(1 秒につき約 2.5 回のリピート入力)~31(1 秒につき約 30 回のリピート入力)の範囲で値を指定します。実際のリピート入力回数はハードウェアによって異なり、線形のスケールとは最大 20% の違いがあります。uiParam パラメータで 31 より大きい値を指定すると、リピート入力回数は 31 に設定されます。
SPI_SETLANGTOGGLE キーボードのプロパティの「言語の切り替え」を設定します。uiParam パラメータと pvParam パラメータを使いません。このフラグを使って値を設定した場合、この関数はレジストリをもう一度読み取って、「キーボードのプロパティ」の「言語」タブの表示を自動的に変更します。この関数でこのフラグを指定する前に、レジストリの適切なレジストリエントリを作成しておかなければなりません。レジストリエントリは、\HKEY_CURRENT_USER\keyboard layout\toggle で指定します。有効な値は、左 ALT+SHIFT キーを意味する 1、CTRL+SHIFT キーを意味する 2、何も設定しないことを意味する 3 のいずれかです。
SPI_SETMOUSE マウスカーソルの移動速度と、アクセラレーションに関する 2 つのしきい値を設定します。pvParam パラメータで、3 つの要素からなる 1 つの整数型配列へのポインタを指定します。この配列で、これらの情報を指定しておきます。詳細については、 の説明を参照してください。
SPI_SETMOUSEBUTTONSWAP 左右のマウスボタンの機能を交換するかどうかを設定します。ボタンの機能を交換する場合は uiParam パラメータで 0 以外の値(TRUE)を、交換しない場合は 0(FALSE)を指定します。
SPI_SETMOUSEHOVERHEIGHT Windows 98 と Windows NT 4.0 以降: 関数が WM_MOUSEHOVER メッセージを生成するために、マウスカーソルがとどまっていなければならない範囲の高さをピクセル単位で設定します。uiParam パラメータで、設定するべき新しい高さを指定します。
SPI_SETMOUSEHOVERTIME Windows 98 と Windows NT 4.0 以降:TrackMouseEvent 関数が WM_MOUSEHOVER メッセージを生成するために、マウスカーソルがとどまっていなければならない時間をミリ秒(ms)単位で設定します。TrackMouseEvent 関数の dwHoverTime パラメータで HOVER_DEFAULT を指定した場合にのみ、このフラグが使われます。uiParam パラメータで、設定するべき新しい時間を指定します。
SPI_SETMOUSEHOVERWIDTH Windows 98 と Windows NT 4.0 以降:TrackMouseEvent 関数が WM_MOUSEHOVER メッセージを生成するために、マウスカーソルがとどまっていなければならない範囲の幅をピクセル単位で設定します。uiParam パラメータで、設定するべき新しい幅を指定します。
SPI_SETMOUSESPEED Windows 98 と Windows 2000:マウスの現在の速度を設定します。pvParame パラメータで、1(最も遅い)~20(最も速い)の範囲の値を保持している、1 個の整数を指定します。既定の値は 10 です。このフラグは主に、コントロールパネルの「マウス」を使って速度を設定するために使われます。
SPI_SETMOUSETRAILS Windows 95/98:マウスポインタの軌跡の表示を有効または無効にします。この機能が有効な場合、マウスの軌跡が短時間だけ表示され、すぐに消去されるので、マウスカーソルの移動状況を把握しやすくなります。

軌跡を表示しない場合は uiParam パラメータで 0 または 1 を、軌跡を表示する場合は描画するべき軌跡の数を意味する 2 以上の整数を指定します。

Windows NT/2000:サポートされていません。

SPI_SETSNAPTODEFBUTTON Windows 98 と Windows NT 4.0 以降:マウスカーソルを既定のボタンへ自動的に移動させる機能を有効または無効にします。この機能が有効になっている場合、ダイアログボックス内の[OK]や[適用]のような既定のボタンへマウスカーソルが自動的に移動します。この機能を有効にする場合は uiParam パラメータで 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。アプリケーションはダイアログボックスを表示する際に、 関数を使うべきです。その結果、ダイアログマネージャはマウスカーソルを正しい場所に配置できます。
SPI_SETWHEELSCROLLLINES Windows 98 と Windows NT 4.0 以降:マウスホイールを回転させたときにスクロールされる行数を設定します。uiParam パラメータで、設定するべき行数を指定します。

この行数は、修飾キーを使わずにマウスホイールを回転させた場合にスクロールさせるべき行数の推奨値を意味します。0 を指定した場合、ホイールを回転させてもスクロールを行いません。表示可能な行数より大きい数値を指定した場合や、特に WHEEL_PAGESCSOLL(Winuser.h 内で UINT_MAX と等しい値として定義されていますが、Limits.h 内で UINT_MAX は 0xffffffff、つまり 18,446,744,073,709,551,615;1,844 京;1,844 兆の 1 万倍と定義されています)を指定した場合、スクロール操作は、スクロールバーのページアップ領域またはページダウン領域を 1 回クリックした場合と同じ動作になります。


メニューのフラグは、次のとおりです。

メニューのフラグ 意味
SPI_GETMENUDROPALIGNMENT メニューバーの項目に対して、ドップダウンメニューに左寄せと右寄せのどちらを適用するかを示す値を取得します。pvParam パラメータでは、1 個の BOOL 型変数へのポインタを指定します。関数から制御が返ると、この変数に、右寄せの場合は 0 以外の値(TRUE)が、左寄せの場合は 0(FALSE)が格納されます。
SPI_GETMENUFADE Windows 2000:メニューのフェードアニメーションが有効になっているかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数へのポインタを指定します。関数から制御が返ると、この変数に、フェードアニメーションが有効になっている場合は 0 以外の値(TRUE)、無効になっている場合は 0(FALSE)が格納されます。フェードアニメーションが無効になっている場合、メニューはスライドアニメーション形式で表示されます。メニューのアニメーション表示が有効になっていない場合、このフラグは無視されます。メニューのアニメーション表示を設定するには、この関数の SPI_SETMENUANIMATION フラグを使います。詳細については、MSDN ライブラリの 関数の説明を参照してください。
SPI_GETMENUSHOWDELAY Windows 95/98 と Windows NT 4.0 以降:マウスカーソルをサブメニューの項目に合わせた後、何 ms 後にショートカットメニューを表示する設定になっているのか調べます。pvParam パラメータで、1 個の DWORD 型変数へのポインタを指定します。関数から制御が返ると、この変数に、待ち時間が格納されます。
SPI_SETMENUDROPALIGNMENT メニューバーの項目に対して、ドロップダウンメニューを右寄せするかどうかを設定します。右寄せを適用する場合は uiParam パラメータで TRUE を、左寄せを適用する場合は FALSE を指定します。
SPI_SETMENUFADE Windows 2000:メニューのフェードアニメーションを有効または無効にします。メニューのフェードアニメーションを有効にする場合は pvParam パラメータで 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。フェードアニメーションが無効になっている場合、メニューはスライドアニメーション形式で表示されます。メニューのフェードアニメーションが有効になるのは、色深度が 256 色(8 ビット)以上の場合だけです。共に SET_MENUANIMATION を指定してメニューのアニメーション表示を有効にしておかない限り、SPI_SETMENUFADE フラグは無視されます。詳細については、MSDN ライブラリの 関数の説明を参照してください。
SPI_SETMENUSHOWDELAY Windows 95/98 と Windows NT 4.0 以降:マウスカーソルをサブメニューの項目に合わせた後、何 ms 後にショートカットメニューを表示するかを設定します。pvParam パラメータで、新しい待ち時間をミリ秒(ms)単位で指定します。

電力管理のフラグは、次のとおりです。コントロールパネルでは[電源管理]と表記されています。

電力管理のフラグ 意味
SPI_GETLOWPOWERACTIVE スクリーンの低消費電力モードが有効になっているかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数へのポインタを指定します。関数から制御が返ると、この変数に、低消費電力モードが有効な場合は 0 以外の値(TRUE)が、無効な場合は 0(FALSE)が格納されます。

Windows 98:16 ビットアプリケーションと 32 ビットアプリケーションの両方が、このフラグをサポートしています。

Windows 95:16 ビットアプリケーションだけが、このフラグをサポートしています。

Windows NT/2000:Windows 2000 以降では、32 ビットアプリケーションがこのフラグをサポートしています。16 ビットアプリケーションは、このフラグをサポートしていません。

SPI_GETLOWPOWERTIMEOUT スクリーンの低消費電力モードのタイムアウト値(何も操作が行われていない状況で、低消費電力モードを有効にするまでの待ち時間)を取得します。pvParam パラメータで、1 個の INT 型変数へのポインタを指定します。関数から制御が返ると、この変数に、タイムアウト値が秒単位で格納されます。

Windows 98:16 ビットアプリケーションと 32 ビットアプリケーションの両方が、このフラグをサポートしています。

Windows 95:16 ビットアプリケーションだけが、このフラグをサポートしています。

Windows NT/2000:Windows 2000 以降では、32 ビットアプリケーションがこのフラグをサポートしています。16 ビットアプリケーションは、このフラグをサポートしていません。

SPI_GETPOWEROFFACTIVE スクリーンの電力停止モードが有効になっているかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数へのポインタを指定します。関数から制御が返ると、この変数に、電力停止モードが有効な場合は 0 以外の値(TRUE)が、無効な場合は 0(FALSE)が格納されます。

Windows 98:16 ビットアプリケーションと 32 ビットアプリケーションの両方が、このフラグをサポートしています。

Windows 95:16 ビットアプリケーションだけが、このフラグをサポートしています。

Windows NT/2000:Windows 2000 以降では、32 ビットアプリケーションがこのフラグをサポートしています。16 ビットアプリケーションは、このフラグをサポートしていません。

SPI_GETPOWEROFFTIMEOUT スクリーンの電力停止モードのタイムアウト値(何も操作が行われていない状況で、電力停止モードを有効にするまでの待ち時間)を取得します。pvParam パラメータで、1 個の INT 型変数へのポインタを指定します。関数から制御が返ると、この変数に、タイムアウト値が秒単位で格納されます。

Windows 98:16 ビットアプリケーションと 32 ビットアプリケーションの両方が、このフラグをサポートしています。

Windows 95:16 ビットアプリケーションだけが、このフラグをサポートしています。

Windows NT/2000:Windows 2000 以降では、32 ビットアプリケーションがこのフラグをサポートしています。16 ビットアプリケーションは、このフラグをサポートしていません。

SPI_SETLOWPOWERACTIVE スクリーンの低消費電力モードを有効または無効にします。uiParam パラメータで、低消費電力モードを有効にする場合は 1 を、無効にする場合は 0 を指定します。pvParam パラメータで、NULL を指定します。

Windows 98:16 ビットアプリケーションと 32 ビットアプリケーションの両方が、このフラグをサポートしています。

Windows 95:16 ビットアプリケーションだけが、このフラグをサポートしています。

Windows NT/2000:Windows 2000 以降では、32 ビットアプリケーションがこのフラグをサポートしています。16 ビットアプリケーションは、このフラグをサポートしていません。

SPI_SETLOWPOWERTIMEOUT スクリーンの低消費電力モードのタイムアウト値(何も操作が行われていない状況で、低消費電力モードを有効にするまでの待ち時間)を設定します。uiParam パラメータで、タイムアウト値を秒単位で指定します。pvParam パラメータで、NULL を指定します。

Windows 98:16 ビットアプリケーションと 32 ビットアプリケーションの両方が、このフラグをサポートしています。

Windows 95:16 ビットアプリケーションだけが、このフラグをサポートしています。

Windows NT/2000:Windows 2000 以降では、32 ビットアプリケーションがこのフラグをサポートしています。16 ビットアプリケーションは、このフラグをサポートしていません。

SPI_SETPOWEROFFACTIVE スクリーンの電力停止モードを有効または無効にします。uiParam パラメータで、電力停止モードを有効にする場合は 1 を、無効にする場合は 0 を指定します。pvParam パラメータで、NULL を指定します。

Windows 98:16 ビットアプリケーションと 32 ビットアプリケーションの両方が、このフラグをサポートしています。

Windows 95:16 ビットアプリケーションだけが、このフラグをサポートしています。

Windows NT/2000:Windows 2000 以降では、32 ビットアプリケーションがこのフラグをサポートしています。16 ビットアプリケーションは、このフラグをサポートしていません。

SPI_SETPOWEROFFTIMEOUT スクリーンの電力停止モードの新しいタイムアウト値(何も操作が行われていない状況で、電力停止モードを有効にするまでの待ち時間)を設定します。uiParam パラメータで、新しいタイムアウト値を秒単位で設定します。pvParam パラメータで、NULL を指定します。

Windows 98:16 ビットアプリケーションと 32 ビットアプリケーションの両方が、このフラグをサポートしています。

Windows 95:16 ビットアプリケーションだけが、このフラグをサポートしています。

Windows NT/2000:Windows 2000 以降では、32 ビットアプリケーションがこのフラグをサポートしています。16 ビットアプリケーションは、このフラグをサポートしていません。


スクリーンセーバーのフラグは、次のとおりです。

スクリーンセーバーのフラグ 意味
SPI_GETSCREENSAVEACTIVE スクリーンセーバーが有効になっているかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数へのポインタを指定します。関数から制御が返ると、この変数に、スクリーンセーバーが有効になっている場合は 0 以外の値(TRUE)が、それ以外の場合は 0(FALSE)が格納されます。
SPI_GETSCREENSAVERRUNNING Windows 98 と Windows 2000:呼び出し側プロセスのウィンドウステーションで、スクリーンセーバーが現在動作しているかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数へのポインタを指定します。関数から制御が返ると、この変数に、スクリーンセーバーが現在動作している場合は 0 以外の値(TRUE)、それ以外の場合は 0(FALSE)が格納されます。スクリーンセーバーを動作させることができるのが、対話型のウィンドウステーションである "Winsta0" のみであることに注意してください。
SPI_GETSCREENSAVETIMEOUT スクリーンセーバーのタイムアウト時間(何も操作が行われていない状況で、スクリーンセーバーを実行するまでの待ち時間)を取得します。pvParam パラメータで、1 個の整数型変数へのポインタを指定します。関数から制御が返ると、この変数に、待ち時間が秒単位で格納されます。
SPI_SETSCREENSAVEACTIVE スクリーンセーバーを有効または無効にします。uiParam パラメータで、スクリーンセーバー有効にする場合は 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。
SPI_SETSCREENSAVERRUNNING Windows 95/98:内部で使われます。アプリケーションは、このフラグを使うべきではありません。
SPI_SETSCREENSAVETIMEOUT スクリーンセーバーのタイムアウト時間(何も操作が行われていない状況で、スクリーンセーバーを実行するまでの待ち時間)を設定します。uiParam パラメータで、設定するべき新しい待ち時間を秒単位で指定します。

UI 効果のパラメータは、次のとおりです。SPI_SETUIEFFECTS フラグを使うと、UI 効果のすべてのフラグを一度に有効または無効にできます。この表は、UI 効果に関係するすべてのフラグを示しています。

UI 効果のフラグ 意味
SPI_GETCOMBOBOXANIMATION Windows 98 と Windows 2000:コンボボックスのスライドオープン効果(コンボボックスを開く際に、小さな点から徐々に拡大する代わりに、スライドを横へ移動する形式で表示する)が有効になっているかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数を指定します。関数から制御が返ると、この変数に、この効果が有効になっている場合は TRUE が、無効になっている場合は FALSE が格納されます。
SPI_GETCURSORSHADOW Windows 2000:カーソルの周りに影を表示する設定になっているかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数を指定します。関数から制御が返ると、この変数に、影付き効果が有効になっている場合は 0 以外の値(TRUE)が、無効になっている場合は 0(FALSE)が格納されます。システムの色深度が 256 色(8 ビット)以上である場合にのみ、この効果が表示されます。
SPI_GETGRADIENTCAPTIONS Windows 98 と Windows 2000:ウィンドウのタイトルバーでグラデーション効果が有効になっているかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数を指定します。関数から制御が返ると、この変数に、この効果が有効になっている場合は 0 以外の値(TRUE)が、無効になっている場合は 0(FALSE)が格納されます。グラデーション効果の詳細については、GetSysColor 関数を参照してください。
SPI_GETHOTTRACKING Windows 98 と Windows 2000:メニュー名やメニューバーのようなユーザーインターフェイス要素のホットトラッキングが有効になっているかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数を指定します。関数から制御が返ると、この変数に、この機能が有効になっている場合は 0 以外の値(TRUE)が、無効になっている場合は 0(FALSE)が格納されます。

ホットトラッキングとは、カーソルを特定の項目に重ねたときに、その項目が強調表示されるだけで、選択されないことを意味します。アプリケーションのユーザーインターフェイスでホットトラッキングを使うかどうか判断する目的で、このフラグを問い合わせることができます。

SPI_GETLISTBOXSMOOTHSCROLLING Windows 98 と Windows 2000:リストボックスのスムーズスクロール効果が有効になっているかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数を指定します。関数から制御が返ると、この変数に、この効果が有効になっている場合は 0 以外の値(TRUE)が、無効になっている場合は 0(FALSE)が格納されます。
SPI_GETMENUANIMATION Windows 98 と Windows 2000:メニューのアニメーション機能が有効になっているかどうかを調べます。これはメニューのアニメーション効果に関するマスタフラグであり、他のアニメーション効果を有効にするには、このフラグを有効にしておかなければなりません。pvParam パラメータで、1 個の BOOL 型変数を指定します。関数から制御が返ると、この変数に、アニメーション機能が有効になっている場合は 0 以外の値(TRUE)が、無効になっている場合は 0(FALSE)が格納されます。

Windows 2000:アニメーション機能が有効になっている場合、SPI_GETMENUFADE フラグは、メニューを表示する際にフェードアニメーションとスライドアニメーションのどちらが使われているかを表します。

SPI_GETMENUUNDERLINES Windows 98 と Windows 2000:SPI_GETKEYBOARDCUES と同じことを意味します
SPI_GETSELECTIONFADE Windows 2000:選択項目のフェード効果が有効になっているかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数を指定します。関数から制御が返ると、この変数に、この効果が有効になっている場合は 0 以外の値(TRUE)が、無効になっている場合は 0(FALSE)が格納されます。

選択項目のフェード効果を有効にすると、ユーザーがメニュー項目を選択したときに、メニューが消えた後、ほんの短い間だけそのメニュー項目が画面に残り、フェードアウトしてゆきます。

SPI_GETTOOLTIPANIMATION Windows 2000:ツールチップ(チップヘルプ)アニメーションが有効になっているかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数を指定します。関数から制御が返ると、この変数に、この効果が有効になっている場合は 0 以外の値(TRUE)が、無効になっている場合は 0(FALSE)が格納されます。ツールチップアニメーションが有効になっている場合、SPI_GETTOOLTIPFADE フラグは、ツールチップを表示する際にフェードアニメーションとスライドアニメーションのどちらが使われているかを表します。
SPI_GETTOOLTIPFADE Windows 2000:SPI_SETTOOLTIPANIMATION フラグが有効になっている場合、SPI_GETTOOLTIPFADE フラグは、ツールチップアニメーションを表示する際にフェード効果とスライド効果のどちらが使われているかを表します。pvParam パラメータで、1 個の BOOL 型変数を指定します。関数から制御が返ると、この変数に、フェードアニメーションが有効になっている場合は 0 以外の値(TRUE)が、スライドアニメーションが有効になっている場合は 0(FALSE)が格納されます。詳細については、MSDN ライブラリの 関数の説明を参照してください。
SPI_GETUIEFFECTS Windows 2000:すべての UI 効果が有効になっているかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数を指定します。関数から制御が返ると、この変数に、すべての UI 効果が有効になっている場合は 0 以外の値(TRUE)が、無効になっている場合は 0(FALSE)が格納されます。この表には、UI 効果に関連するすべてのフラグが掲載されています。
SPI_SETCOMBOBOXANIMATION Windows 98 と Windows 2000:コンボボックスのスライドオープン効果(コンボボックスを開く際に、小さな点から徐々に拡大する代わりに、スライドを横へ移動する形式で表示する)を有効または無効にします。pvParam パラメータで、スライドオープン効果を有効にする場合は 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。
SPI_SETCURSORSHADOW Windows 2000:カーソルの周りに影を表示する効果を有効または無効にします。pvParam パラメータで、影付き効果を有効にする場合は 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。システムの色深度が 256 色(8 ビット)以上である場合にのみ、この効果が表示されます。
SPI_SETGRADIENTCAPTIONS Windows 98 と Windows 2000:ウィンドウのタイトルバーでグラデーション効果を有効または無効にします。pvParam パラメータで、グラデーション効果を有効にする場合は 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。グラデーション効果を利用できるのは、システムの色深度が 256 色(8 ビット)以上である場合のみです。グラデーション効果の詳細については、GetSysColor 関数を参照してください。
SPI_SETHOTTRACKING Windows 98 と Windows 2000:メニュー名やメニューバーのようなユーザーインターフェイス要素のホットトラッキングを有効または無効にします。pvParam パラメータで、ホットトラッキングを有効にする場合は 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。

ホットトラッキングとは、カーソルを特定の項目に重ねたときに、その項目が強調表示されるだけで、選択されないことを意味します。

SPI_SETLISTBOXSMOOTHSCROLLING Windows 98 と Windows 2000:リストボックスのスムーズスクロール効果を有効または無効にします。pvParam パラメータで、スムーズスクロール効果を有効にする場合は 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。
SPI_SETMENUANIMATION Windows 98 と Windows 2000:メニューのアニメーション機能を有効または無効にします。これはメニューのアニメーション効果に関するマスタフラグであり、他のアニメーション効果を有効にするには、このフラグを有効にしておかなければなりません。pvParam パラメータで、メニューのアニメーション効果を有効にする場合は 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。

Windows 2000:アニメーション機能が有効になっている場合、SPI_GETMENUFADE フラグは、メニューを表示する際にフェードアニメーションとスライドアニメーションのどちらが使われているかを表します。

SPI_SETMENUUNDERLINES Windows 98 と Windows 2000:SPI_SETKEYBOARDCUES と同じことを意味します
SPI_SETSELECTIONFADE Windows 2000:選択項目のフェード効果を有効または無効にします。pvParam パラメータで、フェード効果を有効にする場合は 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。

選択項目のフェード効果を有効にすると、ユーザーがメニュー項目を選択したときに、メニューが消えた後、ほんの短い間だけそのメニュー項目が画面に残り、フェードアウトしてゆきます。選択項目のフェード効果を利用できるのは、システムの色深度が 256 色(8 ビット)以上である場合のみです。

SPI_SETTOOLTIPANIMATION Windows 2000:ツールチップ(チップヘルプ)アニメーションを有効または無効にします。pvParam パラメータで、ツールチップのアニメーションを有効にする場合は 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。ツールチップアニメーションが有効になっている場合、SPI_SETTOOLTIPFADE フラグを使って、ツールチップを表示する際にフェードアニメーションとスライドアニメーションのどちらを使うのか設定できます。
SPI_SETTOOLTIPFADE Windows 2000:SPI_SETTOOLTIPANIMATION フラグが有効になっている場合、SPI_SETTOOLTIPFADE フラグは、ツールチップアニメーションを表示する際にフェード効果とスライド効果のどちらが使うのか設定します。pvParam パラメータで、フェードアニメーションを有効にする場合は 0 以外の値(TRUE)を、スライドアニメーションを有効にする場合は 0(FALSE)を指定します。ツールチップのフェード効果を利用できるのは、システムの色深度が 256 色(8 ビット)以上である場合のみです。詳細については、MSDN ライブラリの 関数の説明を参照してください。
SPI_SETUIEFFECTS Windows 2000:すべての UI 効果を有効または無効にします。pvParam パラメータで、すべての UI 効果を有効にする場合は 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。この表には、UI 効果に関連するすべてのフラグが掲載されています。

ウィンドウのフラグは、次のとおりです。

  意味
SPI_GETACTIVEWINDOWTRACKING Windows 98 と Windows 2000:アクティブウィンドウトラッキング(マウスカーソルがウィンドウに重なったときに、そのウィンドウを有効にする)が有効になっているかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数を指定します。関数から制御が返ると、この変数に、この機能が有効になっている場合は 0 以外の値(TRUE)が、無効になっている場合は 0(FALSE)が格納されます。
SPI_GETACTIVEWNDTRKZORDER Windows 98 と Windows 2000:アクティブウィンドウトラッキングによってウィンドウがアクティブになった時点で、そのウィンドウが最前面(奥行き方向の手前)に表示されるかどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数を指定します。関数から制御が返ると、この変数に、この機能が有効になっている場合は 0 以外の値(TRUE)が、無効になっている場合は 0(FALSE)が格納されます。
SPI_GETACTIVEWNDTRKTIMEOUT Windows 98 と Windows 2000:アクティブウィンドウトラッキングの待ち時間をミリ秒(ms)単位で取得します。pvParam パラメータで、1 個の DWORD 型変数を指定します。関数から制御が返ると、この変数に、待ち時間が格納されます。この時間にわたって、マウスポインタが特定のウィンドウに重なっている場合、そのウィンドウをアクティブにします。
SPI_GETANIMATION ユーザーの操作に関連付けられている(ウィンドウを最小化した場合など)アニメーション効果に関する情報を取得します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。関数から制御が返ると、この構造体に、アニメーション効果に関する情報が格納されます。ANIMATIONINFO 構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(ANIMATIONINFO) を指定します。
SPI_GETBORDER ウィンドウのサイズ変更枠の幅を決定する乗数を取得します。pvParam パラメータで、1 個の整数型変数へのポインタを指定します。関数から制御が返ると、この変数に、この乗数の値が格納されます。
SPI_GETCARETWIDTH Windows 2000:編集コントロール内のキャレット(テキスト用のカーソル)の幅を取得します。pvParam パラメータで、1 個の DWORD 型変数へのポインタを指定します。関数から制御が返ると、この変数に、キャレットの幅がピクセル単位で格納されます。
SPI_GETDRAGFULLWINDOWS フルドラッグ(ウィンドウの内容を表示したままのドラッグ)が有効かどうかを調べます。pvParam パラメータで、1 個の BOOL 型変数へのポインタを指定します。関数から制御が返ると、この変数に、フルドラッグが有効になっている場合は TRUE が、無効になっている場合は FALSE が格納されます。

Windows 95:SPI_GETDRAGFULLWINDOWS フラグは、Microsoft Plus!が既にインストールされている場合にのみ使えます。詳細については、この関数の最後の方にある「Windows 95/98 のフラグ」の表の SPI_GETWINDOWSEXTENSION を参照してください。

SPI_GETFOREGROUNDFLASHCOUNT Windows 98 と Windows 2000:特定のウィンドウをフォアグラウンドウィンドウにするよう要求が発行され、その要求が拒否された場合に、 関数がタスクバー内のボタンを点滅させる回数を取得します。pvParam パラメータで、1 個の DWORD 型変数へのポインタを指定します。関数から制御が返ると、この変数に、点滅回数が格納されます。
SPI_GETFOREGROUNDLOCKTIMEOUT Windows 98 と Windows 2000:ユーザーが何かを入力した後、システムは一定の時間にわたって、アプリケーションが自らをフォアグラウンドにすることを禁止します。この時間をミリ秒(ms)単位で取得します。pvParam パラメータで、1 個の DWORD 型変数へのポインタを指定します。関数から制御が返ると、この変数に、フォアグラウンド移行の禁止時間が格納されます。
SPI_GETMINIMIZEDMETRICS 最小化ウィンドウの配置方法に関する情報を取得します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。関数から制御が返ると、この構造体に、配置方法に関する情報が格納されます。MINIMIZEDMETRICS 構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(MINIMIZEDMETRICS) を指定します。
SPI_GETNONCLIENTMETRICS 非クライアント領域に関するメトリック値(メニューバーの高さなど)を取得します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。関数から制御が返ると、この構造体に、メトリック値が格納されます。NONCLIENTMETRICS 構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(NONCLIENTMETRICS) を指定します。
SPI_GETSHOWIMEUI Windows 98 と Windows 2000:IME ステータスウィンドウが可視状態になっているかどうかを調べます(ユーザーごとの設定)。pvParam パラメータで、1 個の BOOL 型変数を指定します。関数から制御が返ると、この変数に、ステータスウィンドウが可視状態になっている場合は 0 以外の値(TRUE)が、不可視状態になっている場合は 0(FALSE)が格納されます。
SPI_SETACTIVEWINDOWTRACKING Windows 98 と Windows 2000:アクティブウィンドウトラッキング(マウスカーソルがウィンドウに重なったときに、そのウィンドウを有効にする)を有効または無効にします。pvParam パラメータで、この機能を有効にする場合は 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。
SPI_SETACTIVEWNDTRKZORDER Windows 98 と Windows 2000:アクティブウィンドウトラッキングによってウィンドウがアクティブになった時点で、そのウィンドウを最前面(奥行き方向の手前)に表示するかどうかを設定します。pvParam パラメータで、この機能を有効にする場合は 0 以外の値(TRUE)を、無効にする場合は 0(FALSE)を指定します。
SPI_SETACTIVEWNDTRKTIMEOUT Windows 98 と Windows 2000:アクティブウィンドウトラッキングの待ち時間をミリ秒(ms)単位で指定します。pvParam パラメータで、新しい遅延時間を指定します。この時間にわたって、マウスポインタが特定のウィンドウに重なっている場合、そのウィンドウをアクティブにします。
SPI_SETANIMATION ユーザーの操作に関連付けられている(ウィンドウを最小化した場合など)アニメーション効果に関する情報を設定します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。この構造体で、新しいパラメータを指定しておきます。この構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(ANIMATIONINFO) を指定します。
SPI_SETBORDER ウィンドウのサイズ変更枠の幅を決定する乗数を設定します。uiParam パラメータで、設定するべき新しい値を指定します。
SPI_SETCARETWIDTH Windows 2000:編集コントロール内のキャレット(テキスト用のカーソル)の幅を設定します。pvParam パラメータで、希望のキャレットの幅をピクセル単位で指定します。既定の幅は、最小の幅と同じ 1 です。
SPI_SETDRAGFULLWINDOWS フルドラッグ(ウィンドウの内容を表示したままのドラッグ)を有効または無効にします。uiParam パラメータで、フルドラッグを有効にする場合は TRUE を、無効にする場合は FALSE を指定します。

Windows 95:SPI_SETDRAGFULLWINDOWS フラグは、Microsoft Plus!が既にインストールされている場合にのみ使えます。詳細については、この関数の最後の方にある「Windows 95/98 のフラグ」の表の SPI_GETWINDOWSEXTENSION を参照してください。

SPI_SETDRAGHEIGHT ドラッグ操作の開始とは見なされない範囲が既定で設定されていますが、この範囲に相当する長方形の高さを設定します。マウスボタンを押した後、この高さを越えてマウスを動かすと、ドラッグ操作が開始されたものと見なされます。この結果、ユーザーは意図していない場所でドラッグ操作を開始することなく、簡単にマウスボタンをクリックし、その後放すことができます。uiParam パラメータで、設定するべき新しい高さを指定します。ドラッグ長方形の高さを取得するには、SM_CYDRAG を指定して GetSystemMetrics 関数を呼び出してください。
SPI_SETDRAGWIDTH ドラッグ操作の開始とは見なされない範囲が既定で設定されていますが、この範囲に相当する長方形の幅を設定します。マウスボタンを押した後、この幅を越えてマウスを動かすと、ドラッグ操作が開始されたものと見なされます。この結果、ユーザーは意図していない場所でドラッグ操作を開始することなく、簡単にマウスボタンをクリックし、その後放すことができます。uiParam パラメータで、設定するべき新しい幅を指定します。ドラッグ長方形の幅を取得するには、SM_CXDRAG を指定して GetSystemMetrics 関数を呼び出してください。
SPI_SETFOREGROUNDFLASHCOUNT Windows 98 と Windows 2000:特定のウィンドウをフォアグラウンドウィンドウにするよう要求が発行され、その要求が拒否された場合に、 関数がタスクバー内のボタンを点滅させる回数を設定します。pvParam パラメータで、設定するべき新しい点滅回数を指定します。
SPI_SETFOREGROUNDLOCKTIMEOUT Windows 98 と Windows 2000:ユーザーが何かを入力した後、システムは一定の時間にわたって、アプリケーションが自らをフォアグラウンドにすることを禁止します。この時間をミリ秒(ms)単位で設定します。pvParam パラメータで、設定するべき、フォアグラウンド移行の新しい禁止時間を指定します。
SPI_SETMINIMIZEDMETRICS 最小化ウィンドウの配置方法に関する情報を設定します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。この構造体で、新しいパラメータを指定しておきます。この構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(MINIMIZEDMETRICS) を指定します。
SPI_SETNONCLIENTMETRICS 非クライアント領域に関するメトリック値(メニューバーの高さなど)を設定します。pvParam パラメータで、1 個の 構造体へのポインタを指定します。この構造体で、新しいパラメータを指定しておきます。この構造体の cbSize メンバと、この関数の uiParam パラメータの両方で、sizeof(NONCLIENTMETRICS) を指定します。
SPI_SETSHOWIMEUI Windows 98 と Windows 2000:IME ステータスウィンドウを可視状態または不可視状態に設定します(ユーザーごとの設定)。uiParam パラメータで、可視状態にする場合は 0 以外の値(TRUE)を、不可視状態にする場合は 0(FALSE)を指定します。

次のフラグは、Windows 95 と Windows 98 に特有のものです。

Windows 95/98 のフラグ 意味
SPI_GETWINDOWSEXTENSION Windows 95:Windows のエクステンションである Microsoft Plus!が既にインストールされているかどうかを調べます。uiParam パラメータで 1 を指定してください。pvParam パラメータは使いません。この関数は、Plus!がインストールされている場合は 0 以外の値(TRUE)を、インストールされていない場合は 0(FALSE)を返します。
SPI_SETPENWINDOWS Windows 95/98:ペンウィンドウ(Windows for Pen computing extensions)をロードまたはアンロードします。uiParam パラメータで、ロードする場合は 0 以外の値(TRUE)を、アンロードする場合は 0(FALSE)を指定します。pvParam パラメータで、NULL を指定します。

uiParam
uiAction パラメータで指定した、問い合わせ対象または設定対象のフラグに応じた値を指定します。システム全体に関係するフラグの詳細については、上記の uiAction パラメータの説明を参照してください。特に指示がない場合、uiParam パラメータで 0 を指定してください。
pvParam
uiAction パラメータで指定した、問い合わせ対象または設定対象のフラグに応じた値を指定します。システム全体に関係するフラグの詳細については、上記の uiAction パラメータの説明を参照してください。特に指示がない場合、uiParam パラメータで NULL を指定してください。
fWinIni
システムパラメータを設定する際に、ユーザープロファイルを更新するかどうか、また更新する場合は、 メッセージをすべてのトップレベルウィンドウへ送信して、変更が生じたことを通知するかどうかを指定します。

ユーザープロファイルの更新と WM_SETTINGCHANGE メッセージのブロードキャスト送信のどちらも行わない場合は、このパラメータで 0 を指定します。代わりに、次の値のいずれかまたは複数を指定することもできます。

動作
SPIF_UPDATEINIFILE システム全体のパラメータに関する新しい設定を、ユーザープロファイルに書き込みます。
SPIF_SENDCHANGE ユーザープロファイルを更新した後、WM_SETTINGCHANGE メッセージをブロードキャストします。
SPIF_SENDWININICHANGE SPIF_SENDCHANGE と同じことを意味します。

戻り値

関数が成功すると、0 以外の値が返ります。

関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。

解説

この関数は主に、ユーザーが Windows 環境をカスタマイズするために利用するツールを作成することを意図しています。

キーボードのレイアウト名は、各レイアウトに対応する言語識別子の 16 進表現に基づいています。たとえば、U.S. English の言語識別子は 0x0409 なので、U.S. English の主要なレイアウトは、"00000409" と命名されています。Dvorak(ドボラク;本来は西スラブの人名なので、西スラブ語族の子音の発音とアクセント記号を考慮してドボルザークと読みますが、キーボードレイアウトを指す場合は英語読みでドボラクです)など、U.S. English のさまざまな派生版は、"00010409"、"00020409" などと命名されています。主要言語の識別子と副言語の識別子については、MSDN ライブラリの マクロを参照してください。

対応情報

Windows NT/2000:Windows NT 3.1 以降
Windows 95/98:Windows 95 以降
ヘッダー:Winuser.h 内で宣言、Windows.h をインクルード
インポートライブラリ:User32.lib を使用
Unicode:Windows NT/2000 は Unicode 版と ANSI 版を実装

参照

, , , , , , , , , , , , , , ,

表示: