|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Изменить расширение нескольких экранов
Доброго времени суток!
Имеется компьютер с подключёнными двумя мониторами в Windows 10 (Расширить эти экраны). Не могу разобраться как программными средствами поменять расширения этих мониторов. Через ChangeDisplaySettings(Dm, 0) меняется расширение только основного экрана. А вот как поменять разрешение второго? |
#2
|
|||
|
|||
Тебе нужна функция ChangeDisplaySettingsExA - она позволяет указать для какого монитора менять настройки.
|
#3
|
|||
|
|||
lmikle, Спасибо!
Уже разобрался. Информации в интернете крайне мало на эту тему. Пришлось ломать голову самому и изучать форумы) Вот решение этой проблемы может кому поможет Код:
_______________________________________________________ private dm1,dm2 : TDEVMODE; _______________________________________________________ procedure TForm1.Button6Click(Sender: TObject); begin ZeroMemory(@dm1, sizeof(TDEVMODE)); dm1.dmSize := sizeof(TDEVMODE); dm1.dmPelsWidth := w1; //ширина для DISPLAY1 dm1.dmPelsHeight := h1; //высота для DISPLAY1 dm1.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT; ChangeDisplaySettingsEx('\\.\DISPLAY1', dm1, 0, CDS_UPDATEREGISTRY or CDS_NORESET, nil); ChangeDisplaySettingsEx(nil, PDeviceMode(0)^, 0, 0, nil); ZeroMemory(@dm2, sizeof(TDEVMODE)); dm2.dmSize := sizeof(TDEVMODE); dm2.dmPelsWidth := w2; //ширина для DISPLAY2 dm2.dmPelsHeight := h2; //высота для DISPLAY2 dm2.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT; ChangeDisplaySettingsEx('\\.\DISPLAY2', dm2, 0, CDS_UPDATEREGISTRY or CDS_SET_PRIMARY or CDS_NORESET, nil); ChangeDisplaySettingsEx(nil, PDeviceMode(0)^, 0, 0, nil); end; lmikle: Используем форматирование! Последний раз редактировалось lmikle, 28.07.2021 в 18:07. |
#4
|
|||
|
|||
Цитата:
Лучшие игровые слоты на сайте http://www.diabloarea.net/news-1918-...niy-obzor.html |