Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Изменение разрешения Добавлено: 11.10.02 20:27  

Автор вопроса:  azuza

Всем по привету!

Как быстро и качественно изменить разрешение телевизера средствами VB (API)?

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 LIS



Вопросов: 7
Ответов: 256
 Профиль | | #1 Добавлено: 11.10.02 20:30

kakogo televizora ?

Rubin? Zenit? IZUMRUD?

Ответить

Номер ответа: 2
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #2
Добавлено: 11.10.02 21:30
RECORD

Ответить

Номер ответа: 3
Автор ответа:
 LIS



Вопросов: 7
Ответов: 256
 Профиль | | #3 Добавлено: 11.10.02 21:33

kupit noviy !

Ответить

Номер ответа: 4
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #4
Добавлено: 11.10.02 21:45
Ага, проектор

Ответить

Номер ответа: 5
Автор ответа:
 azuza



Вопросов: 1
Ответов: 2
 Профиль | | #5 Добавлено: 11.10.02 22:13

Всем У М Н Ы М парным большое спасибо за У М Н Ы Е ответы. Всех остальных прошу читать слово "телевизер" в моем вопросе как "устройство для вывода текстовой и графической информации, которая генерируется в процессе работы электронно-вычислительной машины."

Ответить

Номер ответа: 6
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #6
Добавлено: 11.10.02 22:33

"устройство для вывода текстовой и графической информации, которая генерируется в процессе работы электронно-вычислительной машины."

Если ты такие страшные слова знаешь, то на Ассемблере.

 

Для тех кто попроще

Изменение настроек дисплея

При написании игрушек и различных приложений связаных с графикой очень хочется поменять разрешения монитора. И это достаточно легко сделать:

Declare Function ChangeDisplaySettings Lib "user32.dll" Alias "ChangeDisplaySettingsA"_ (lpDevMode As Any, ByVal dwFlags As Long) As Long

С помощью этой функции появляется возможность изменить разрешение и количество цветовых разрядов.

Данная функция содержит набор параметров:

lpDevMode – новые настройки для монитора (структура DevMode ) возможно использование значений:
dmBitsPerPixe
dmDisplayFlags
dmDisplayFrequency
dmPelsWidth
dmPelsHeigh
dwFlags – способ изменения настроек, если здесь не установить ничего, то настройки будут изменены во время выполнения вызова этой функции, а информация об изменении не будет сохранена вообще.

Набор параметров:

* CDS_NORESET – все изменения будут сохранены в реестре Windows, но сами вступят в силу только после перезагрузки компьютера
CDS_RESET– параметры настройки изменяются по ходу выполнения, без перезагрузки системы.
*CDS_GLOBAL – настройки будут установлены для всех пользователей системы (если их несколько)
CDS_FULLSCREEN – установка полноэкранного режима, но эту установку нельзя сохранить вообще.
CDS_TEST– режим проверки монитора, для установления совместимости устройства с устанавливаемыми параметрами.

Для параметров отмеченных * нужно определить CDS_UPDATEREGISTRY= &H1 – обновление содержимого реестра

Функция возвращает следующие значения:

DISP_CHANGE_SUCCESSFUL –Изменение настроек прошло успешно
DISP_CHANGE_RESTART – необходимо перезапустить систему
DISP_CHANGE_BADPARAM – присутствует недопустимый параметр
DISP_CHANGE_FAILED – режим не поддерживается драйвером устройства
DISP_CHANGE_BADMODE - режим не поддерживается устройством
DISP_CHANGE_NOTUPDATED – запись в реестр не может быть осуществлена (характерно для Windows NT)

Также, при использовании этой функции полезно использовать другую функцию, определяющуу возможности устройств и драйверов:

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

iModeNum – получение информации о текущем режиме или из реестра (ENUM_CURRENT_SETTINGS
ENUM_REGISTRY_SETTINGS)

lpDevMode – определяется то, что собственно хочется получить ( значения те же, что в ChangeDisplaySettings)

Пример использования этих функций:

На форму (frmTest) разместите кнопку cmdCDS, добавте следующий код:

----в код формы---

Private Sub CmdCDS_Click()
MyDevMode.dmSize = Len(MyDevMode)
BackVal = EnumDisplaySettings(vbNullString, ENUM_CURRENT_SETTINGS, MyDevMode)

MyDevMode.dmPelsWidth = 1024
MyDevMode.dmPelsHeight = 768
BackVal = ChangeDisplaySettings(MyDevMode, CDS_TEST)
If BackVal <> DISP_CHANGE_SUCCESSFUL Then
msgbox"Не могу установить такое разрешение!",16,"Ошибка!"
Else
BackVal = ChangeDisplaySettings(MyCevMode, CDS_UPDATEREGISTRY)
Select Case BackVal
Case DISP_CHANGE_SUCCESSFUL
msgbox"
Нjвые установки применены!",64,"Ура!"
Case DISP_CHANGE_RESTART
dim iMsg as integer
iMsg = msgbox ("
Можно перезагрузить?",36 ,"Перезагрузка!")
Select Case iMsg
case vbYes
Shell(‘%systemDir%/rundll32.exe user32,ExitWindows’) ‘
Еще одинОтветить

Номер ответа: 7
Автор ответа:
 LIS



Вопросов: 7
Ответов: 256
 Профиль | | #7 Добавлено: 11.10.02 22:39

"телевизер" ===> "телевизoр"

Ответить

Номер ответа: 8
Автор ответа:
 azuza



Вопросов: 1
Ответов: 2
 Профиль | | #8 Добавлено: 15.10.02 19:17
Спасибо за нормальный ответ CyRax'у. Извиняюсь за некорректно поставленный вопрос. Тема закрыта.

Ответить

Номер ответа: 9
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #9
Добавлено: 15.10.02 19:38

Пожалуйста.

Извиняться не надо. Просто вопрос смешной попался.

Знаешь ли есть такие люди, которые подключают свои Соники/Панасоники к системнику.

Они конечно знают, что никакой супер-пупер телевизор не сравнить с монитором. Но хочется людям. Ничего не поделаешь.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам