主モニタの有効サイズを取得するには

主モニタの有効サイズを取得します
キーワードは「SystemParametersInfo()関数」。
SystemParametersInfo()関数は、システムの設定に関する情報を設定・取得する関数です。
そのパラメータに設定する値によって取得・設定する情報が変わってきます。

今回はその中のSPI_GETWORKAREAを設定します
他に設定できるパラメータは、SystemParametersInfo()関数の定数 一覧表示で見ることができます。


実行中の様子


'システム全体に関するパラメータを取得・設定する
Private Declare Function SystemParametersInfoAny Lib "user32.dll" Alias "SystemParametersInfoA" _
    (ByVal uiAction As Long, ByVal uiParam As Long, pvParam As Any, ByVal fWinIni As Long) As Long
Private Const SPI_GETWORKAREA = 48          '主モニターの有効なスクリーンのサイズを取得する

Private Type RECT
    Left As Long            '矩形の左上隅のX座標
    Top As Long             '同、Y座標
    Right As Long           '矩形の右下隅のX座標
    Bottom As Long          '同、Y座標
End Type

Private Sub Command1_Click() Dim lpRect As RECT Call SystemParametersInfoAny(SPI_GETWORKAREA, 0, lpRect, 0) MsgBox "有効な主モニタのサイズ" & vbCrLf & "x:" & lpRect.Left & vbCrLf & _ "y:" & lpRect.Top & vbCrLf & "width:" & lpRect.Right - lpRect.Left & vbCrLf & _ "height" & lpRect.Bottom - lpRect.Top End Sub
ダウンロード