Hello You can do something Like this...
#include <WinAPIGdi.au3>
#include <Array.au3> ;just for Debug
Global Const $PHYSICAL_MONITOR_DESCRIPTION_SIZE = 128
;~ PHYSICAL_MONITOR structure
;~ HANDLE hPhysicalMonitor;
;~ WCHAR szPhysicalMonitorDescription[PHYSICAL_MONITOR_DESCRIPTION_SIZE];
Global Const $sTagPHYSICAL_MONITOR = "handle;wchar[128];"
Local $aMonitors = _WinAPI_EnumDisplayMonitors()
;~ _ArrayDisplay($aMonitors)
Local $hMonitor = $aMonitors[1][0]
Local $aRet = DllCall("Dxva2.dll", "bool", "GetNumberOfPhysicalMonitorsFromHMONITOR", "handle", $hMonitor, "dword*", 0)
Local $iNumberOfPhysicalMonitors = $aRet[2]
ConsoleWrite("Number Of Physical Monitors: " & $iNumberOfPhysicalMonitors & @CRLF)
Local $sStringTagStructure = ""
For $i = 1 To $iNumberOfPhysicalMonitors
$sStringTagStructure &= $sTagPHYSICAL_MONITOR
Next
Local $tArrayPHYSICAL_MONITOR = DllStructCreate($sStringTagStructure)
Local $PtrPhysicalMonitorArray = DllStructGetPtr($tArrayPHYSICAL_MONITOR)
$aRet = DllCall("Dxva2.dll", "bool", "GetPhysicalMonitorsFromHMONITOR", "handle", $hMonitor, "dword", $iNumberOfPhysicalMonitors, "ptr", $PtrPhysicalMonitorArray)
For $i = 1 To $iNumberOfPhysicalMonitors
ConsoleWrite("hPhysicalMonitor: " & DllStructGetData($tArrayPHYSICAL_MONITOR, (($i) * 2) - 1) & @CRLF)
ConsoleWrite("PhysicalMonitorDescription: " & DllStructGetData($tArrayPHYSICAL_MONITOR, (($i) * 2)) & @CRLF)
Next
$tArrayPHYSICAL_MONITOR=0;free
Saludos