SysGet

システムオブジェクトの寸法、およびその他のシステムプロパティを取得します。

Value := SysGet(Property)

パラメータ

Property

型:整数

以下の表からいずれかの数値を指定し、対応する値を取得する。

戻り値

型:整数

この関数は、指定されたシステム・プロパティの値を返す。

一般的に使用される

Number 説明
80 SM_CMONITORS:デスクトップ上のディスプレイモニターの数(「非ディスプレイ疑似モニター」は含まない)。
43 SM_CMOUSEBUTTONS:マウスのボタン数(マウスがインストールされていない場合は0)。
16, 17 SM_CXFULLSCREEN, SM_CYFULLSCREEN:プライマリディスプレイモニタ上のフルスクリーンウィンドウのクライアント領域の幅と高さをピクセル単位で示す。
61, 62 SM_CXMAXIMIZED, SM_CYMAXIMIZED:プライマリディスプレイモニタ上で最大化されたトップレベルウィンドウのデフォルト寸法(ピクセル単位)。
59, 60 SM_CXMAXTRACK, SM_CYMAXTRACK:キャプションとサイズ調整枠を持つウィンドウのデフォルトの最大寸法、単位はピクセル。この指標はデスクトップ全体を指す。ユーザーはウィンドウ・フレームをドラッグしてこれらの寸法より大きなサイズにすることはできない。
28, 29 SM_CXMIN, SM_CYMIN:ウィンドウの最小の幅と高さをピクセル単位で示す。
57, 58 SM_CXMINIMIZED, SM_CYMINIMIZED:最小化されたウィンドウの寸法(ピクセル単位)。
34, 35 SM_CXMINTRACK, SM_CYMINTRACK:ウィンドウの最小トラッキング幅と高さをピクセル単位で示す。ユーザーはウィンドウ・フレームをドラッグしてこれらの寸法より小さいサイズにすることはできない。ウィンドウは、WM_GETMINMAXINFOメッセージを処理することで、これらの値を上書きすることができます。
0, 1 SM_CXSCREEN, SM_CYSCREEN:プライマリディスプレイモニターの画面の幅と高さをピクセル単位で示す。これらは、組み込み変数A_ScreenWidthおよびA_ScreenHeightと同じである。
78, 79 SM_CXVIRTUALSCREEN, SM_CYVIRTUALSCREEN:仮想スクリーンの幅と高さ(ピクセル単位)。仮想スクリーンは、すべてのディスプレイ・モニターの外接矩形である。SM_XVIRTUALSCREEN、SM_YVIRTUALSCREENメトリックスは、仮想スクリーンの左上隅の座標です。
19 SM_MOUSEPRESENT:マウスがインストールされていれば0以外、そうでなければ0。
75 SM_MOUSEWHEELPRESENT:ホイール付きマウスがインストールされていれば0以外、そうでなければ0。
63 SM_NETWORK:ネットワークが存在する場合は最下位ビットがセットされ、そうでない場合はクリアされる。他のビットは将来の使用のために予約されている。
8193 SM_REMOTECONTROL:このシステム指標はターミナルサービス環境で使用されます。この値は、現在のセッションが遠隔操作されている場合は0以外、そうでない場合は0となる。
4096 SM_REMOTESESSION:このシステム指標はターミナルサービス環境で使用されます。呼び出し元のプロセスがターミナルサービスのクライアントセッションに関連付けられている場合、戻り値はゼロ以外です。呼び出し元のプロセスがターミナルサーバーのコンソールセッションに関連付けられている場合、戻り値は0です。コンソール・セッションは、必ずしも物理的なコンソールとは限らない。
70 SM_SHOWSOUNDS:そうでなければ音声のみで情報を提示するような状況で、ユーザがアプリケーションに視覚的な情報提示を要求している場合は0以外、そうでない場合は0。
8192 SM_SHUTTINGDOWN:現在のセッションがシャットダウンされる場合は非ゼロ、そうでない場合はゼロ。Windows 2000:取得される値は常に 0 です。
23 SM_SWAPBUTTON:マウスの左ボタンと右ボタンの意味が入れ替わる場合は非ゼロ、そうでない場合はゼロ。
76, 77 SM_XVIRTUALSCREEN, SM_YVIRTUALSCREEN:仮想スクリーンの左側と上側の座標。仮想スクリーンは、すべてのディスプレイ・モニターの外接矩形である。対照的に、SM_CXVIRTUALSCREEN、SM_CYVIRTUALSCREENメトリクス(さらに上)は、仮想スクリーンの幅と高さです。

Not Commonly Used

Number 説明
56 SM_ARRANGE:最小化されたウィンドウをシステムがどのように配置するかを指定するフラグ。詳しくはMicrosoft Docsをご覧ください。
67

SM_CLEANBOOT:システムの起動方法を指定する:

  • 0 = 通常ブート
  • 1 = フェイルセーフブート
  • 2 = ネットワークブートによるフェイルセーフ
5, 6 SM_CXBORDER, SM_CYBORDER:ウィンドウの境界線の幅と高さをピクセル単位で指定する。これは、3-DルックのウィンドウのSM_CXEDGEの値に相当する。
13, 14 SM_CXCURSOR, SM_CYCURSOR:カーソルの幅と高さをピクセル単位で示す。システムは他のサイズのカーソルを作成できない。
36, 37 SM_CXDOUBLECLK, SM_CYDOUBLECLK:ダブルクリックシーケンスの最初のクリック位置を囲む矩形の幅と高さ(ピクセル単位)。システムが2回のクリックをダブルクリックとみなすには、2回目のクリックがこの矩形内で行われなければならない。(この2回のクリックは指定された時間内に行われなければならない)
68, 69 SM_CXDRAG, SM_CYDRAG:ドラッグ操作を開始する前にマウスポインタの移動を制限できるようにするための、ドラッグポイントを中心とした矩形の幅と高さ。これらの値はピクセル単位である。これにより、ドラッグ操作を不用意に開始することなく、マウスボタンを簡単にクリックしたり離したりすることができる。
45, 46 SM_CXEDGE, SM_CYEDGE:3次元ボーダーの寸法(ピクセル単位)。これらはSM_CXBORDERとSM_CYBORDERの3次元対応である。
7, 8 SM_CXFIXEDFRAME, SM_CYFIXEDFRAME (synonymous with SM_CXDLGFRAME, SM_CYDLGFRAME):キャプションを持つが大きくないウィンドウの外周の枠の太さ(ピクセル単位)。SM_CXFIXEDFRAMEは水平ボーダーの高さ、SM_CYFIXEDFRAMEは垂直ボーダーの幅。
83, 84 SM_CXFOCUSBORDER, SM_CYFOCUSBORDER:コントロールのフォーカス矩形の左右の辺の幅と上下の辺の高さ(ピクセル単位)。Windows 2000:取得される値は常に 0 です。
21, 3 SM_CXHSCROLL, SM_CYHSCROLL:水平スクロールバーの矢印ビットマップの幅をピクセル単位で、水平スクロールバーの高さをピクセル単位で指定する。
10 SM_CXHTHUMB:横スクロールバーのサムボックスの幅をピクセル単位で示す。
11, 12 SM_CXICON, SM_CYICON:アイコンのデフォルトの幅と高さをピクセル単位で示す。
38, 39 SM_CXICONSPACING, SM_CYICONSPACING:大きなアイコン表示のアイテムのグリッドセルの寸法をピクセル単位で指定します。各アイテムを並べると、このサイズの長方形に収まる。これらの値は常にSM_CXICONおよびSM_CYICON以上である。
71, 72 SM_CXMENUCHECK, SM_CYMENUCHECK:デフォルトメニューのチェックマークビットマップの寸法をピクセル単位で示す。
54, 55 SM_CXMENUSIZE, SM_CYMENUSIZE:複数ドキュメントのインターフェイスで使われる子ウィンドウを閉じるボタンなどのメニューバーボタンの寸法をピクセル単位で表したもの。
47, 48 SM_CXMINSPACING SM_CYMINSPACING:最小化されたウィンドウのグリッドセルの寸法(ピクセル単位)。最小化されたウィンドウを並べると、このサイズの矩形に収まる。これらの値は常にSM_CXMINIMIZEDおよびSM_CYMINIMIZED以上である。
30, 31 SM_CXSIZE, SM_CYSIZE:ウィンドウのキャプションまたはタイトルバーにあるボタンの幅と高さをピクセル単位で指定する。
32, 33 SM_CXSIZEFRAME, SM_CYSIZEFRAME:リサイズ可能なウィンドウの外周のサイズ調整枠の太さ(ピクセル単位)。SM_CXSIZEFRAMEは水平ボーダーの幅、SM_CYSIZEFRAMEは垂直ボーダーの高さである。SM_CXFRAME および SM_CYFRAME と同義。
49, 50 SM_CXSMICON, SM_CYSMICON:小さなアイコンの推奨寸法(ピクセル単位)。小さなアイコンは通常、ウィンドウのキャプションや小さなアイコン表示に表示される。
52, 53 SM_CXSMSIZE SM_CYSMSIZE:小さなキャプションボタンの寸法(ピクセル単位)。
2, 20 SM_CXVSCROLL, SM_CYVSCROLL:縦スクロールバーの幅をピクセル単位で、縦スクロールバーの矢印ビットマップの高さをピクセル単位で指定する。
4 SM_CYCAPTION:キャプション領域の高さ(ピクセル単位)。
18 SM_CYKANJIWINDOW:ダブルバイト文字セットのバージョンでは、画面下部の漢字ウィンドウの高さをピクセルで表します。
15 SM_CYMENU:単一行メニューバーの高さ(ピクセル単位)。
51 SM_CYSMCAPTION:小さなキャプションの高さ(ピクセル単位)。
9 SM_CYVTHUMB:縦スクロールバーのサムボックスの高さをピクセル単位で示す。
42 SM_DBCSENABLED:User32.dllがDBCSをサポートしている場合は非ゼロ、そうでない場合はゼロ。
22 SM_DEBUG:User.exeのデバッグバージョンがインストールされている場合は0以外、そうでない場合は0。
82

SM_IMMENABLED:入力メソッドマネージャ/入力メソッドエディタ機能が有効な場合は非ゼロ、そうでない場合はゼロ。

SM_IMMENABLED は、システムがユニコード・アプリケーションでユニコード・ベースの IME を使用する準備ができているかどうかを示します。言語依存のIMEが動作することを確認するには、SM_DBCSENABLEDとシステムのANSIコード・ページをチェックしてください。そうしないと、ANSIからUnicodeへの変換が正しく行われなかったり、フォントやレジストリ設定のようなコンポーネントが存在しなかったりします。

40 SM_MENUDROPALIGNMENT:ドロップダウンメニューが対応するメニューバーアイテムと右揃えの場合はゼロ以外、左揃えの場合はゼロ。
74 SM_MIDEASTENABLED:システムがヘブライ語とアラビア語で有効な場合はゼロ以外、有効でない場合はゼロ。
41 SM_PENWINDOWS:Microsoft Windows for Pen コンピューティング拡張がインストールされている場合は非ゼロ、そうでない場合はゼロ。
44 SM_SECURE:セキュリティがある場合はゼロ以外、ない場合はゼロ。
81 SM_SAMEDISPLAYFORMAT:すべてのディスプレイモニターのカラーフォーマットが同じであれば0以外、そうでなければ0。2つのディスプレイはビット深度が同じでもカラーフォーマットが異なることがあることに注意。例えば、赤、緑、青のピクセルを異なるビット数で符号化したり、それらのビットをピクセルの色値の異なる場所に配置したりすることができる。

備考

SysGetは単にGetSystemMetrics関数を呼び出すだけであり、ここで文書化されているよりも多くのシステム・プロパティをサポートしている可能性がある。

DllCall, Win functions, Monitor functions

マウスボタンの数を取得し、MouseButtonCountに格納します。

MouseButtonCount := SysGet(43)

仮想スクリーンの幅と高さを取得し、VirtualScreenWidthVirtualScreenHeightに格納する。

VirtualScreenWidth := SysGet(78)
VirtualScreenHeight := SysGet(79)