Enumerates display monitors (including invisible pseudo-monitors associated with the mirroring drivers)
#include <WinAPIGdi.au3>
_WinAPI_EnumDisplayMonitors ( [$hDC = 0 [, $tRECT = 0]] )
$hDC | [optional] Handle to a display device context that defines the visible region of interest. If it's 0 (Default), the visible region of interest is the virtual screen that encompasses all the displays on the desktop. |
$tRECT | [optional] $tagRECT structure that specifies a clipping rectangle. This parameter can be 0 (Default) if you don't want to clip the specified region. |
Success: | The 2D array containing the following information: [0][0] - Number of rows in array (n) [0][1] - Unused [n][0] - A handle to the display monitor. [n][1] - $tagRECT structure defining a display monitor rectangle or the clipping area. |
Failure: | Sets the @error flag to non-zero. |
Search EnumDisplayMonitors in MSDN Library.
#include <Array.au3>
#include <WinAPIGdi.au3>
Local $aPos, $aData = _WinAPI_EnumDisplayMonitors()
If IsArray($aData) Then
ReDim $aData[$aData[0][0] + 1][5]
For $i = 1 To $aData[0][0]
$aPos = _WinAPI_GetPosFromRect($aData[$i][1])
For $j = 0 To 3
$aData[$i][$j + 1] = $aPos[$j]
Next
Next
EndIf
_ArrayDisplay($aData, '_WinAPI_EnumDisplayMonitors')