Option Explicit

#If VBA7 And Win64 Then
    Declare PtrSafe Function GetSystemMetrics Lib "user32" _
      (ByVal nIndex As Long) As Long
#Else
Declare Function GetSystemMetrics Lib "user32" _
  (ByVal nIndex As Long) As Long
#End If


Public Const SM_CMONITORS = 80
Public Const SM_CXSCREEN = 0
Public Const SM_CYSCREEN = 1
Public Const SM_CXVIRTUALSCREEN = 78
Public Const SM_CYVIRTUALSCREEN = 79

Sub DisplayVideoInfo()
    Dim numMonitors As Long
    Dim vidWidth As Long, vidHeight As Long
    Dim virtWidth As Long, virtHeight As Long
    Dim Msg As String
    
    numMonitors = GetSystemMetrics(SM_CMONITORS)
    vidWidth = GetSystemMetrics(SM_CXSCREEN)
    vidHeight = GetSystemMetrics(SM_CYSCREEN)
    virtWidth = GetSystemMetrics(SM_CXVIRTUALSCREEN)
    virtHeight = GetSystemMetrics(SM_CYVIRTUALSCREEN)

    If numMonitors > 1 Then
        Msg = numMonitors & " display monitors" & vbCrLf
        Msg = Msg & "Virtual screen: " & virtWidth & " X "
        Msg = Msg & virtHeight & vbCrLf & vbCrLf
        Msg = Msg & "The video mode on the primary display is: "
        Msg = Msg & vidWidth & " X " & vidHeight
    Else
        Msg = Msg & "The video display mode: "
        Msg = Msg & vidWidth & " X " & vidHeight
    End If
    MsgBox Msg
End Sub