Часто перед нами стоит задача программно изменять настройки экрана (разрешение и тд). Это можно сделать с помощью Win32API.1) Функция EnumDisplaySettings()
Получить один из режимов, которые поддерживает устройство. BOOL EnumDisplaySettings(
LPCTSTR lpszDeviceName, // display device
DWORD iModeNum, // graphics mode
[In, Out] LPDEVMODE lpDevMode // graphics mode settings
);Параметры:
1.1) lpszDeviceName - название устройства отображение, для которого получаем режимы отображения. Если равно NULL - используется устройство по-умолчанию. Получить устройство можно с помощью функции EnumDisplayDevices().
1.2) iModeNum - тип информации, которую мы хотим получить. Значение может быть следующее:
ENUM_CURRENT_SETTINGS = -1
Получить текущий режим отображения.
ENUM_REGISTRY_SETTINGS = -2
Получить текущий режим, установленный в регистрах.
1.3) lpDevMode - параметр типа DEVMODE (описан ниже) в который будет записан результат выполнения.
Данная функция может возвращать только один режим за вызов. Для получения всех режимов придется вызывать ее начиная со значения параметра iModeNum = 0 до тех пор пока функция не вернет False. Для получения всех активных устройств используем - EnumDisplayDevices().Для использования даннйо функции необходимо импортировать ее:[DllImport("User32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern Boolean EnumDisplaySettings(
Read more: .NET разработка от devlanfear
Получить один из режимов, которые поддерживает устройство. BOOL EnumDisplaySettings(
LPCTSTR lpszDeviceName, // display device
DWORD iModeNum, // graphics mode
[In, Out] LPDEVMODE lpDevMode // graphics mode settings
);Параметры:
1.1) lpszDeviceName - название устройства отображение, для которого получаем режимы отображения. Если равно NULL - используется устройство по-умолчанию. Получить устройство можно с помощью функции EnumDisplayDevices().
1.2) iModeNum - тип информации, которую мы хотим получить. Значение может быть следующее:
ENUM_CURRENT_SETTINGS = -1
Получить текущий режим отображения.
ENUM_REGISTRY_SETTINGS = -2
Получить текущий режим, установленный в регистрах.
1.3) lpDevMode - параметр типа DEVMODE (описан ниже) в который будет записан результат выполнения.
Данная функция может возвращать только один режим за вызов. Для получения всех режимов придется вызывать ее начиная со значения параметра iModeNum = 0 до тех пор пока функция не вернет False. Для получения всех активных устройств используем - EnumDisplayDevices().Для использования даннйо функции необходимо импортировать ее:[DllImport("User32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern Boolean EnumDisplaySettings(
[param: MarshalAs(UnmanagedType.LPTStr)]
string lpszDeviceName,
[param: MarshalAs(UnmanagedType.U4)]
int iModeNum,
[In, Out]
ref DEVMODE lpDevMode);
Read more: .NET разработка от devlanfear
0 comments:
Post a Comment