Функция EnumDisplaySettings

Declare Function EnumDisplaySettings Lib "user32.dll" Alias "EnumDisplaySettingsA" ( _
    ByVal lpszDeviceName As String,  _
    ByVal iModeNum As Long, _
    lpDevMode As DEVMODE) As Long

EnumDisplaySettings получает текущие параметры настройки экрана (Разрешение экрана, разрядность цвета, частоту развертки и т.д.)

lpszDeviceName
Если установлена нулевая строка, используются текущие настройки экрана. В ином случае, имя устройства должно иметь вид "\\.\DisplayX", где X - 1, 2 или 3
iModeNum
Тип получаемой информации о графическом режиме. Также можно использовать следующие флаги
ENUM_CURRENT_SETTINGS=-1
Получает информацию о текущих настройках экрана
ENUM_REGISTRY_SETTINGS=-2
Получает информацию о настройках экрана, хранящихся в реестре
lpDevMode
Получает информацию о графическом режиме. Используются только dmBitsPerPixel, dmPelsWidth, dmPelsHeight, dmDisplayFlags, dmDisplayFrequency. Перед вызовом функции установите значение dmSize

Пример

' Получаем информацию о текущих настройках экрана.
' Установите на форме кнопку Command1
Private Sub Command1_Click()
Dim dm As DEVMODE
Dim retval As Long  ' возвращаемое значение
' Инициализируем структуру
  dm.dmSize = Len(dm)
' Получаем текущие настройки экрана
 retval = EnumDisplaySettings(vbNullString, ENUM_CURRENT_SETTINGS, dm)
' Выводим информацию на форму
Print "- Цветовая палитра: "; dm.dmBitsPerPixel
Print "- Ширина (в пикселах): "; dm.dmPelsWidth
Print "- Высота (в пикселах):"; dm.dmPelsHeight
End Sub

Смотри также

ChangeDisplaySettings

Категория

Устройства