画面解像度やマルチモニタ関連の情報、そのほかシステム関連の情報を取得
SysGet, OutputVar, Sub-command [, Param3]
引数名 | 説明 |
---|---|
OutputVar | 取得結果を格納する変数名 |
Sub-command | 取得する情報を指定 |
Param3 | 一部サブコマンドで使用するオプション |
Name | Number | Description |
---|---|---|
SM_CMONITORS | 80 | マルチモニタ環境でデスクトップ領域の表示に使用されているモニタの数を取得 |
SM_CMOUSEBUTTONS | 43 | マウスボタンの数 (マウスがないときは 0) を取得します。 |
SM_CXFULLSCREEN, SM_CYFULLSCREEN | 16,17 | 最大化されたウィンドウのクライアント領域のサイズを取得します。 |
SM_CXMAXIMIZED, SM_CYMAXIMIZED | 61,62 | 最大化されたウィンドウのサイズを取得します。 |
SM_CXMAXTRACK, SM_CYMAXTRACK | 59,60 | ウィンドウの最大トラッキングサイズを取得します。このサイズよりも大きくウィンドウの枠をドラッグすることはできません。アプリケーションで WM_GETMINMAXINFO メッセージを処理すると、最大トラッキングサイズが変更できます。 |
SM_CXMIN,SM_CYMIN | 28,29 | ウィンドウの最小サイズを取得します。 |
SM_CXMINIMIZED, SM_CYMINIMIZED | 57,58 | 最小化されたウィンドウのデフォルトのサイズを取得します。 |
SM_CXMINTRACK, SM_CYMINTRACK | 34,35 | ウィンドウの最小トラッキングサイズを取得します。このサイズよりも小さくウィンドウの枠をドラッグすることはできません。アプリケーションで WM_GETMINMAXINFO メッセージを処理すると、最小トラッキングサイズが変更できます。 |
SM_CXSCREEN, SM_CYSCREEN | 0,1 | 画面全体のサイズを取得します。 |
SM_CXVIRTUALSCREEN, SM_CYVIRTUALSCREEN | 78,79 | Windows 98 と Windows 2000:仮想画面の幅と高さをピクセル単位で取得します。仮想画面とは、すべてのモニタを囲む境界長方形のことです。SM_XVIRTUALSCREEN および SM_YVIRTUALSCREEN の各値は、仮想画面の左上隅の座標を表します。 |
SM_MOUSEPRESENT | 19 | マウスが接続されているかどうかを示す値を取得します。接続されているときは 0 以外の値が、接続されていないときは 0 が返ります。 |
SM_MOUSEWHEELPRESENT | 75 | ホイールを持つマウスが接続されているかどうかを示す値を取得します。接続されているときは 0 以外の値が、接続されていないときは 0 が返ります。 |
SM_NETWORK | 63 | ネットワークが存在するかどうかを示す値を取得します。存在するときは最下位ビットが 1 の値が、そうでないときは最下位ビットが 0 の値が返ります。最下位ビット以外のビットは予約されています。 |
SM_REMOTECONTROL | 8193 | リモートデスクトップで遠隔操作されているとき以外は「0」、遠隔操作されているときはゼロ以外。 |
SM_REMOTESESSION | 4096 | この値は、Terminal Services 環境で使うことを意図しています。呼び出し側プロセスが Terminal Services のクライアントセッションに関連付けられている場合は 0 以外の値(TRUE)が返ります。呼び出し側プロセスが Terminal Services のコンソールセッションに関連付けられている場合 0(FALSE)が返ります。 |
SM_SHOWSOUNDS | 70 | ユーザー補助の「サウンド解説を使う」が有効になっているかどうかを調べます。有効になっているときは 0 以外の値が、そうでないときは 0 が返ります。 |
SM_SHUTTINGDOWN | 8192 | シャットダウン中で無ければ「0」、シャットダウン中ならゼロ以外。 |
SM_SWAPBUTTON | 23 | 左右のマウスボタンの機能を交換しているかどうかを示す値を取得します。交換しているときは 0 以外の値が、交換していないときは 0 が返ります。 |
SM_XVIRTUALSCREEN, SM_YVIRTUALSCREEN | 76,77 | Windows 98 と Windows 2000:仮想画面の左端と上端の座標を表します。仮想画面とは、すべてのモニタを囲む境界長方形のことです。SM_CXVIRTUALSCREEN および SM_CYVIRTUALSCREEN の各値は、仮想画面の幅と高さを表します。 |
SM_ARRANGE | 56 | 最小化ウィンドウの配置方法を示す値を取得します。 |
SM_CLEANBOOT | 67 | システムがどのように起動されたかを示す値を取得します。次の値のいずれかになります。
|
SM_CXBORDER, SM_CYBORDER | 5,6 | 非立体的なウィンドウの縁の幅と高さを取得します。SM_CXEDGE とSM_CYEDGE も参照してください。 |
SM_CXCURSOR, SM_CYCURSOR | 13,14 | マウスカーソルのサイズを取得します。 |
SM_CXDOUBLECLK, SM_CYDOUBLECLK | 36,37 | ダブルクリックにおける 2 回目のクリック位置の許容範囲を取得します。1 回目のクリックの後、許容範囲内かつ許容時間内にもう一度マウスをクリックすると、ダブルクリックが行れたものとみなされます。 |
SM_CXDRAG, SM_CYDRAG | 68,69 | ドラッグ操作の開始とはみなされない範囲を取得します。マウスボタンを押した後、この範囲を越えてマウスを動かすと、ドラッグ操作が開始されたものとみなされます。 |
SM_CXEDGE, SM_CYEDGE | 45,46 | 立体的なウィンドウの縁の幅と高さを取得します。SM_CXBORDER とSM_CYBORDER の 3D 版です。 |
SM_CXFIXEDFRAME, SM_CYFIXEDFRAME | 7,8 | タイトルバーを持ち、かつ、サイズが変更できないウィンドウにおける枠の幅と高さを取得します。SM_CXDLGFRAME,SM_CYDLGFRAME と同じです。 |
SM_CXFOCUSBORDER, SM_CYFOCUSBORDER | 83,84 | コントロールのフォーカス枠の太さを取得 |
SM_CXHSCROLL, SM_CYHSCROLL | 21,22 | 水平スクロールバーの矢印の幅、または、水平スクロールバーの高さを取得します。 |
SM_CXHTHUMB | 10 | 水平スクロールバーのつまみの幅を取得します。 |
SM_CXICON, SM_CYICON | 11,12 | アイコンのデフォルトのサイズを取得します。通常は 32×32 ピクセルです。 |
SM_CXICONSPACING, SM_CYICONSPACING | 38,39 | アイコンを整列するときに使われるグリッドのサイズを取得します。常に、SM_CXICON,SM_CYICON 以上になります。 |
SM_CXMENUCHECK, SM_CYMENUCHECK | 71,72 | メニューのチェックマークのサイズを取得します。 |
SM_CXMENUSIZE, SM_CYMENUSIZE | 54,55 | メニューバーに表示されるボタンのサイズを取得します。 |
SM_CXMINSPACING, SM_CYMINSPACING | 47,48 | アイコンを整列するときに使われるグリッドのサイズを取得します。常に、SM_CXICON, SM_CYICON 以上になります |
SM_CXSIZE, SM_CYSIZE | 30,31 | ウィンドウのタイトルバー内のボタンのサイズを取得します。 |
SM_CXSIZEFRAME, SM_CYSIZEFRAME | 32,33 | サイズが変更できるウィンドウにおける枠の幅と高さを取得します。SM_CXFRAME,SM_CYFRAME と同じです。 |
SM_CXSMICON, SM_CYSMICON | 49,50 | 小さいアイコンの推奨サイズを取得します。 |
SM_CXSMSIZE, SM_CYSMSIZE | 52,53 | さいタイトルバー内のボタンのサイズを取得します |
SM_CXVSCROLL, SM_CYVSCROLL | 2,20 | 垂直スクロールバーの幅、または、垂直スクロールバーの矢印の高さを取得します。 |
SM_CYCAPTION | 4 | タイトルバーの高さを取得します。 |
SM_CYKANJIWINDOW | 18 | 画面下の漢字ウィンドウの高さを取得します。 |
SM_CYMENU | 15 | 一行分のメニューバーの高さを取得します。 |
SM_CYSMCAPTION | 51 | 小さなタイトルバーの高さを取得します。 |
SM_CYVTHUMB | 9 | 垂直スクロールバーのつまみの高さを取得します。 |
SM_DBCSENABLED | 42 | USER.EXE がダブルバイト文字セット (DBCS) をサポートしているかどうかを示す値を取得します。サポートしているときは 0 以外の値が、サポートしていないときは 0 が返ります。 |
SM_DEBUG | 22 | USER.EXE がデバッグバージョンかどうかを示す値を取得します。デバッグバージョンのときは 0 以外の値が、デバッグバージョンでないときは 0 が返ります。 |
SM_IMMENABLED | 82 | IME(Input Method Manager/Input Method Editor)機能が有効になっている場合は 0 以外の値(TRUE)が返ります。無効になっている場合は 0(FALSE)が返ります。 SM_IMMENABLED は、システムが Unicode ベースのアプリケーションで、Unicode ベースの IME を使う準備ができているかどうかを示します。特定の言語に依存する IME が動作するかどうか確認するには、SM_DBCSENABLED とシステムの ANSI コードページをチェックしてください。それ以外の場合、ANSI/Unicode 間の変換が正しく実行されないことや、フォントやレジストリエントリのようなコンポーネントが存在しないことがあります。 |
SM_MEDIACENTER | 87 | OSがWindows XP Media Center Editionの場合ゼロ以外。 |
SM_MENUDROPALIGNMENT | 40 | メニューバーの項目に対して、ドロップダウンメニューが右寄せされるかどうかを示す値を取得します。右寄せされるときは 0 以外の値が、左寄せされるときは 0 が返ります。 |
SM_MIDEASTENABLED | 74 | ヘブライ語やアラビア語が利用可能なシステムかどうかを示す値を取得します。利用できるときは TRUE が返ります。 |
SM_PENWINDOWS | 41 | Window for Pen computing extensions がインストールされているかどうかを示す値を取得します。インストールされているときは 0 以外の値が、インストールされていないときは 0 が返ります。 |
SM_SECURE | 44 | セキュリティが存在するかどうかを示す値を取得します。存在するときは TRUE が、存在しないときは FALSE が返ります。 |
SM_SAMEDISPLAYFORMAT | 81 | 複数のモニタが存在する場合、すべてのモニタが同じカラーフォーマットを使っているかどうかを表す値を取得します。すべてのモニタが同じカラーフォーマットを使っている場合、0 以外の値(TRUE)が返ります。それ以外の場合、0(FALSE)が返ります。2 台のモニタが同じ色深度(ビット数)を使っていても、カラーフォーマットが異なる可能性があることに注意してください。たとえば、各ピクセルの RGB のビット数が異なっている(16 ビットの場合 RGB が 565 というのが一般的ですが、アルファブレンディング;輝度の 1 ビットを追加して ARGB1555 という組み合わせもあります)ことや、RGB の順序が異なっていることもあります。 |
SM_SLOWMACHINE | 73 | コンピュータのプロセッサが遅いかどうかを示す値を取得します。遅いときは TRUE が、それ以外のときは FALSE が返ります。 |
SM_TABLETPC | 86 | OSがWindows XP Tablet PCの場合ゼロ以外。 |
プライマリモニタの横幅と高さはA_ScreenWidth/A_ScreenHeight変数で参照できる
Example #1: SysGet, MouseButtonCount, 43 SysGet, VirtualScreenWidth, 78 SysGet, VirtualScreenHeight, 79 Example #2: This is a working script that displays info about each monitor: SysGet, MonitorCount, MonitorCount SysGet, MonitorPrimary, MonitorPrimary MsgBox, Monitor Count:`t%MonitorCount%`nPrimary Monitor:`t%MonitorPrimary% Loop, %MonitorCount% { SysGet, MonitorName, MonitorName, %A_Index% SysGet, Monitor, Monitor, %A_Index% SysGet, MonitorWorkArea, MonitorWorkArea, %A_Index% MsgBox, Monitor:`t#%A_Index%`nName:`t%MonitorName%`nLeft:`t%MonitorLeft% (%MonitorWorkAreaLeft% work)`nTop:`t%MonitorTop% (%MonitorWorkAreaTop% work)`nRight:`t%MonitorRight% (%MonitorWorkAreaRight% work)`nBottom:`t%MonitorBottom% (%MonitorWorkAreaBottom% work) }