# Function Reference

# _WinAPI_EnumDisplaySettings

Retrieves information about one of the graphics modes for a display device

#include <WinAPIGdi.au3>
_WinAPI_EnumDisplaySettings ( $sDevice, $iMode )

## Parameters

$sDevice | The display device about whose graphics mode the function will obtain information. An empty string specifies the current display device on the computer on which the calling process is running.
$iMode | The type of information to be retrieved. This value can be a graphics mode index or one of the following values: $ENUM_CURRENT_SETTINGS $ENUM_REGISTRY_SETTINGS The graphics mode indexes start at zero. To obtain information for all of a display device's graphics modes, make a series of calls to _WinAPI_EnumDisplaySettings(). Set $iMode to zero for the first call, and increment $iMode by one for each subsequent call. Continue calling the function until the return value is zero. When you call _WinAPI_EnumDisplaySettings() with $iMode set to zero, the operating system initializes and caches information about the display device. When you call _WinAPI_EnumDisplaySettings() with $iMode set to a non-zero value, the function returns the information that was cached the last time the function was called with $iMode set to zero.

## Return Value

Success: | The array containing the following information: [0] - The width, in pixels, of the visible device surface. [1] - The height, in pixels, of the visible device surface. [2] - The color resolution, in bits per pixel, of the display device. [3] - The frequency, in hertz (cycles per second), of the display device in a particular mode. [4] - The device's display mode ($DM_*).
Failure: | Sets the @error flag to non-zero.

## See Also

Search EnumDisplaySettings in MSDN Library.

## Example

    #include <WinAPIGdi.au3>

    Local $i = 0, $aData

    While 1
        $aData = _WinAPI_EnumDisplaySettings('', $i)
        If IsArray($aData) Then
            ConsoleWrite($aData[0] & ' x ' & $aData[1] & ' x ' & $aData[2] & ' bit' & @CRLF)
        Else
            ExitLoop
        EndIf
        $i += 1
    WEnd

    $aData = _WinAPI_EnumDisplaySettings('', $ENUM_CURRENT_SETTINGS)
    ConsoleWrite('-------------------------------' & @CRLF)
    ConsoleWrite('Current settings: ' & $aData[0] & ' x ' & $aData[1] & ' x ' & $aData[2] & ' bit' & @CRLF)