Obtains information about the display devices in a system
#include <WinAPIGdiDC.au3>
_WinAPI_EnumDisplayDevices ( $sDevice, $iDevNum )
$sDevice | Device name. If blank, the function returns information for the display adapters on the machine based on $iDevNum. |
$iDevNum | 0-based index value that specifies the display device of interest |
Success: | an array with the following format: $aDevice[0] - True $aDevice[1] - Either the adapter device or the monitor device $aDevice[2] - Either a description of the adapter or the monitor $aDevice[3] - Device state flags: 1 - The device is part of the desktop 2 - The primary desktop is on the device 4 - Represents a pseudo device used to mirror application drawing for remoting 8 - The device is VGA compatible 16 - The device is removable; it cannot be the primary display 32 - The device has more display modes than its output devices support $aDevice[4] - reserved |
Failure: | sets the @error flag to non-zero. |
Search EnumDisplayDevices in MSDN Library.
#include <MsgBoxConstants.au3>
#include <WinAPIGdiDC.au3>
Example()
Func Example()
Local $aDevice, $i = 0, $sText
While 1
$aDevice = _WinAPI_EnumDisplayDevices("", $i)
If @error Or Not $aDevice[0] Then ExitLoop
$sText = "Successful? " & $aDevice[0] & @CRLF
$sText &= "Device (Adapter or Monitor): " & $aDevice[1] & @CRLF
$sText &= "Description (Adapter or Monitor): " & $aDevice[2] & @CRLF
$sText &= "Device State Flag: " & $aDevice[3] & @CRLF
If BitAND($aDevice[3], 32) Then $sText &= @TAB & "- The device has more display modes than its output devices support" & @CRLF
If BitAND($aDevice[3], 16) Then $sText &= @TAB & "- The device is removable; it cannot be the primary display" & @CRLF
If BitAND($aDevice[3], 8) Then $sText &= @TAB & "- The device is VGA compatible" & @CRLF
If BitAND($aDevice[3], 4) Then $sText &= @TAB & "- Represents a pseudo device used to mirror application drawing for remoting" & @CRLF
If BitAND($aDevice[3], 2) Then $sText &= @TAB & "- The primary desktop is on the device" & @CRLF
If BitAND($aDevice[3], 1) Then $sText &= @TAB & "- The device is part of the desktop" & @CRLF
$sText &= "Plug and Play identifier string: " & $aDevice[4] & @CRLF
MsgBox($MB_SYSTEMMODAL, "", $sText)
$i += 1
WEnd
EndFunc ;==>Example