ディスプレイに関係するいろいろな情報を調べるには

ディスプレイに関係するいろいろな情報を調べます。
キーワードは「GetDeviceCaps()関数」と「GetSystemMetrics()関数」です。
GetSystemMetrics()関数は、ディスプレイ上のウィンドウアイテムのサイズを取得する関数です。
GetDeviceCaps()関数は、デバイスに関する情報を取得する関数です。

それぞれの関数に設定するパラメータの値によって取得する情報が変わってきます。

今回はその中のディスプレイ関係に関するものだけを集めてみました。


実行中の様子


Private Sub Form_Load()
Dim rc, temp

'実際のディスプレイの幅と高さ(単位:mm)
Me.Label1(0).Caption = GetDeviceCaps(Me.hdc, HORZSIZE)
Me.Label1(1).Caption = GetDeviceCaps(Me.hdc, VERTSIZE)

'ディスプレイの幅と高さ(単位:mm)
Me.Label1(2).Caption = GetDeviceCaps(Me.hdc, HORZRES)
Me.Label1(3).Caption = GetDeviceCaps(Me.hdc, VERTRES)

'ピクセルあたりのビット数
Me.Label1(4).Caption = GetDeviceCaps(Me.hdc, BITSPIXEL)

'デバイスのカラー解像度
Me.Label1(5).Caption = GetDeviceCaps(Me.hdc, COLORRES)

'モニターの数
Me.Label1(6).Caption = GetSystemMetrics(SM_CMONITORS)

'最大化時のクライアント領域の幅と高さ
Me.Label1(7).Caption = GetSystemMetrics(SM_CXFULLSCREEN)
Me.Label1(8).Caption = GetSystemMetrics(SM_CYFULLSCREEN)

'最小化時のウィンドウの最小幅
Me.Label1(9).Caption = GetSystemMetrics(SM_CXMINIMIZED)
Me.Label1(10).Caption = GetSystemMetrics(SM_CYMINIMIZED)

'最小化時のウィンドウの最小幅
rc = GetSystemMetrics(SM_MIDEASTEANBLED)
If rc = 0 Then
    temp = "サポートしてない"
Else
    temp = "サポートしてる"
End If
Me.Label1(11).Caption = temp
End Sub
ダウンロード