Главная » Статьи » Мои статьи |
Как добиться от монитора его характеристик: разрешения, тактовой частоты
и пр.? А поменять? Легко! Есть несколько WinAPI функций. Фактически, приведу только список функций, приводить подробности глупо – поскольку все они есть в MSDN. В том же MSDN в конце каждого описания функции есть ссылки на близкие по назначению функции. Как получить разрешение GetDeviceCaps int GetDeviceCaps( Вернёт для вашего HDC всё что попросите. Попросить можно nIndex. Полный список возможных вопросов Вы найдёте в MSDN. Если вам нужно разрешение монитора (в пикселях), то действовать можно вот так: HDC
hdcScreen = GetWindowDC(GetDesktopWindow()); Обращу внимание, что эта функция может применяться не только к монитору, но и ко всему, что может иметь HDC, например, к принтеру. Кстати, с помощью nIndex = TECHNOLOGY можно получить по контексту устройства информацию о том, с чем же вы на самом деле имеете дело. Тактовую частоту (в Гц) обновления можно получить с помощью VREFRESH (правда, работать это будет лишь в Windows NT/2000). Ещё одна интересная функция, в сторону которой стоит посмотреть: GetSystemMetrics Перед тем как поменять настройки монитора, необходимо заполнить структуру DEVMODE. Это можно сделать с помощью функции EnumDisplaySettings BOOL EnumDisplaySettings(LPCTSTR
lpszDeviceName,
Эта функция перечисляет все возможные характеристики дисплея. Первый
параметр, lpszDeviceName, обозначает дисплей, для которого вы хотите
перечислить характеристики. В общем то вы можете передать и NULL, но у
MS есть проблемы при работе с много мониторными системами, особенно если
у них отличающиеся характеристики. В этом случае вы должны передать
"\\.\DisplayX", где Х может принять значение 1, 2, или 3. Поменять разрешение монитора можно функцией ChangeDisplaySettings Вот её прототип: LONG
ChangeDisplaySettings( Если вам необходимо, что бы после завершения работы программы настройки монитора вернулись в исходное положение, ни в коем случае не устанавливайте флаг dwflags CDS_UPDATEREGISTRY, который разрешает прописывать обновлённые настройки монитора в реестр. Если Вам необходимо поменять характеристики иного (не дисплея) устройсва, то в руки вам попадает функция ChangeDisplaySettingsEx: LONG ChangeDisplaySettingsEx( | |
Просмотров: 1366 | Комментарии: 2 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |
Меню сайта |
Категории раздела | |
|
Наш опрос |
Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
Жизнь сайта |
Добавь! |
Поиск |
Друзья и рейтинги |