Win32API: GetSystemMetrics

システム設定や画面構成についての情報を取得します。


定義
Declare Function GetSystemMetrics Lib "user32" _
   (nIndex As Long) As Long
nIndex
何についての値を取得するかを、以下の定数から指定します(「SM_CX〜」は幅、「SM_CY〜」は高さ)。
定数説明
SM_ARRANGE最小化ウィンドウの配置方法を示す値を取得します。
SM_CLEANBOOTシステムがどのように起動されたかを示す値を取得します。返り値は次のいずれかになります。0の場合は通常のブート、1の場合は「Safeモード」でのブート、2の場合は「ネットワークを使ったSafeモード」でのブートとなります。
SM_CMOUSEBUTTONSマウスボタンの数(マウスがないときは0)を返します。
SM_CXBORDER
SM_CYBORDER
非立体的なウィンドウの縁の幅と高さを取得します。SM_CXEDGEとSM_CYEDGEも参照してください。
SM_CXCURSOR
SM_CYCURSOR
マウスカーソルのサイズを取得します。
SM_CXDLGFRAME
SM_CYDLGFRAME
SM_CXFIXEDFRAME、SM_CYFIXEDFRAMEと同じです。
SM_CXDOUBLECLK
SM_CYDOUBLECLK
ダブルクリックにおける2回目のクリック位置の許容範囲を取得します。1回目のクリックの後、許容範囲内かつ許容時間内にもう一度マウスをクリックすると、ダブルクリックが行れたものとみなされます。
SM_CXDRAG
SM_CYDRAG
ドラッグ操作の開始とはみなされない範囲を取得します。マウスボタンを押した後、この範囲を越えてマウスを動かすと、ドラッグ操作が開始されたものとみなされます。
SM_CXEDGE
SM_CYEDGE
立体的なウィンドウの縁の幅と高さを取得します。SM_CXBORDERとSM_CYBORDERの3D版です。
SM_CXFIXEDFRAME
SM_CYFIXEDFRAME
タイトルバーを持ち、かつ、サイズが変更できないウィンドウにおける枠の幅と高さを取得します。SM_CXDLGFRAME、SM_CYDLGFRAMEと同じです。
SM_CXFRAME
SM_CYFRAME
SM_CXSIZEFRAME、SM_CYSIZEFRAMEと同じです。
SM_CXFULLSCREEN
SM_CYFULLSCREEN
最大化されたウィンドウのクライアント領域のサイズを取得します。
SM_CXHSCROLL
SM_CYHSCROLL
水平スクロールバーの矢印の幅、または、水平スクロールバーの高さを取得します。
SM_CXHTHUMB水平スクロールバーのつまみの幅を取得します。
SM_CXICON
SM_CYICON
アイコンのデフォルトのサイズを取得します。通常は32×32ピクセルです。
SM_CXICONSPACING
SM_CYICONSPACING
アイコンを整列するときに使われるグリッドのサイズを取得します。常に、SM_CXICON、SM_CYICON以上になります。
SM_CXMAXIMIZED
SM_CYMAXIMIZED
最大化されたウィンドウのサイズを取得します。
SM_CXMAXTRACK
SM_CYMAXTRACK
ウィンドウの最大トラッキングサイズを取得します。このサイズよりも大きくウィンドウの枠をドラッグすることはできません。アプリケーションでWM_GETMINMAXINFOメッセージを処理すると、最大トラッキングサイズが変更できます。
SM_CXMENUCHECK
SM_CYMENUCHECK
メニューのチェックマークのサイズを取得します。
SM_CXMENUSIZE
SM_CYMENUSIZE
メニューバーに表示されるボタンのサイズを取得します。
SM_CXMIN
SM_CYMIN
ウィンドウの最小サイズを取得します。
SM_CXMINIMIZED
SM_CYMINIMIZED
最小化されたウィンドウのデフォルトのサイズを取得します。
SM_CXMINSPACING
SM_CYMINSPACING
最小化されたウィンドウの配置に使われるグリッドのサイズを取得します。常に、SM_CXMINIMIZED、SM_CYMINIMIZED以上になります。
SM_CXMINTRACK
SM_CYMINTRACK
ウィンドウの最小トラッキングサイズを取得します。このサイズよりも小さくウィンドウの枠をドラッグすることはできません。アプリケーションでWM_GETMINMAXINFOメッセージを処理すると、最小トラッキングサイズが変更できます。
SM_CXSCREEN
SM_CYSCREEN
画面全体のサイズを取得します。
SM_CXSIZE
SM_CYSIZE
ウィンドウのタイトルバー内のボタンのサイズを取得します。
SM_CXSIZEFRAME
SM_CYSIZEFRAME
サイズが変更できるウィンドウにおける枠の幅と高さを取得します。SM_CXFRAME、SM_CYFRAMEと同じです。
SM_CXSMICON
SM_CYSMICON
小さいアイコンの推奨サイズを取得します。
SM_CXSMSIZE
SM_CYSMSIZE
小さいタイトルバー内のボタンのサイズを取得します。
SM_CXVSCROLL
SM_CYVSCROLL
垂直スクロールバーの幅、または、垂直スクロールバーの矢印の高さを取得します。
SM_CYCAPTIONタイトルバーの高さを取得します。
SM_CYKANJIWINDOW画面下の漢字ウィンドウの高さを取得します。
SM_CYMENU一行分のメニューバーの高さを取得します。
SM_CYSMCAPTION小さなタイトルバーの高さを取得します。
SM_CYVTHUMB垂直スクロールバーのつまみの高さを取得します。
SM_DBCSENABLEDUSER.EXEがダブルバイト文字セット(DBCS)をサポートしているかどうかを示す値を取得します。サポートしているときは1が、サポートしていないときは0が返ります。
SM_DEBUGUSER.EXEがデバッグバージョンかどうかを示す値を取得します。デバッグバージョンのときは1が、デバッグバージョンでないときは0が返ります。
SM_MENUDROPALIGNMENTメニューバーの項目に対して、ドロップダウンメニューが右寄せされるかどうかを示す値を取得します。右寄せされるときは1が、左寄せされるときは0が返ります。
SM_MIDEASTENABLEDヘブライ語やアラビア語が利用可能なシステムかどうかを示す値を取得します。利用できるときは1が返ります。
SM_MOUSEPRESENTマウスが接続されているかどうかを示す値を取得します。接続されているときは1が、接続されていないときは0が返ります。
SM_NETWORKネットワークが存在するかどうかを示す値を取得します。存在するときは最下位ビットが1の値が、そうでないときは最下位ビットが0の値が返ります。最下位ビット以外のビットは予約されています。
SM_PENWINDOWSWindow for Pen computing extensions がインストールされているかどうかを示す値を取得します。インストールされているときは1が、インストールされていないときは0が返ります。
SM_SECUREセキュリティが存在するかどうかを示す値を取得します。存在するときは1が、存在しないときは0が返ります。
SM_SHOWSOUNDSユーザー補助の「サウンド解説を使う」が有効になっているかどうかを調べます。有効になっているときは1が、そうでないときは0が返ります。
SM_SLOWMACHINEコンピュータのプロセッサが遅いかどうかを示す値を取得します。遅いときは1が、それ以外のときは0が返ります。
SM_SWAPBUTTON左右のマウスボタンの機能を交換しているかどうかを示す値を取得します。交換しているときは1が、交換していないときは0が返ります。

戻り値

関数が成功すると、nIndex パラメータで要求した値がピクセル単位で返ります。失敗すると、0 が返ります。

環境情報

インクルード ファイル: api_window.sbp 内で定義済み
DLLファイル: user32.dll