' Récupérer des dimensions du système
Public Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
' Enumerer les ecrans
Public Declare Function EnumDisplayMonitors Lib "user32" (ByVal hDC As Long, lprcClip As Any, ByVal lpfnEnum As Long, ByVal dwData As Long) As Long
Public Declare Function GetMonitorInfoW Lib "user32" (ByVal hMonitor As Long, lpmi As MONITORINFOEXW) As Long
' Taille du nom d'un périphérique
Public Const CCHDEVICENAME = 32
' Infos sur les écrans
Public Const MONITORINFOF_PRIMARY = &H1
Public Const SM_XVIRTUALSCREEN = 76
Public Const SM_YVIRTUALSCREEN = 77
Public Const SM_CXVIRTUALSCREEN = 78
Public Const SM_CYVIRTUALSCREEN = 79
Public Const SM_CMONITORS = 80
Public Const SM_SAMEDISPLAYFORMAT = 81
' Infos sur un ecran
Public Type MONITORINFOEXW
cbSize As Long
rcMonitor As RECT
rcWork As RECT
dwFlags As Long
b(0 To CCHDEVICENAME * 2 - 1) As Byte
End Type
' Les infos sur un écran
Public Type MonitorInfos
Handle As Long
Name As String
Dimensions As RECT
WorkingArea As RECT
IsMainMonitor As Boolean
End Type
'---------------------------------------------------------------------------------------
' Procedure : GetMonitorInfos
' DateTime : 29/04/2007 23:45
' Author : Vb System Library
' Purpose : Renvoie les infos du moniteur
' Params : hMonitor : Handle de l'écran
'---------------------------------------------------------------------------------------
Public Function GetMonitorInfos(ByVal hMonitor As Long) As MonitorInfos
Dim Mretour As MonitorInfos
Dim MonInfos As MONITORINFOEXW
Dim iPos As Long
Mretour.Handle = hMonitor
' Retrouve les infos
MonInfos.cbSize = Len(MonInfos)
GetMonitorInfoW hMonitor, MonInfos
With MonInfos
Mretour.Dimensions = .rcMonitor
Mretour.WorkingArea = .rcWork
Mretour.IsMainMonitor = ((.dwFlags And MONITORINFOF_PRIMARY) = MONITORINFOF_PRIMARY)
Mretour.Name = .b
End With
' Formate le nom
iPos = InStr(Mretour.Name, vbNullChar)
If (iPos > 0) Then
Mretour.Name = Left$(Mretour.Name, iPos - 1)
End If
GetMonitorInfos = Mretour
End Function
Seul les admins et l'auteur du code lui même peuvent modifier ce code.