Подтвердить что ты не робот

Программно изменить разрешение экрана?

Есть ли способ программно изменить разрешение экрана или включить/отключить несколько мониторов в Windows XP? Например, для изменения с 1024x768 с одним монитором на 1280x104 на двух мониторах? Мне больше всего интересна функция win32 для этого, но все, что может быть привязано к ярлыку Windows, будет достаточно.

4b9b3361

Ответ 1

Вы можете использовать EnumDisplayDevices, чтобы выяснить, какие дисплеи доступны и EnumDisplaySettings, чтобы получить список доступных разрешений для ваших дисплеев. Используйте ChangeDisplaySettings, чтобы установить требуемое разрешение.

Ответ 2

Да, но это не часть .NET. Вам нужно будет использовать, вызывать или писать оболочку для доступа к Win32 API.

См. ChangeDisplaySettings и связанные функции.

Здесь вы можете найти базовый пример.

Ответ 3

Вы можете легко script с помощью http://www.autohotkey.com

Здесь script для обмена между одним монитором и двумя мониторами с Windows + 1 и Windows + 2

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn  ; Recommended for catching common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#1::
Send {LWin}
WinWaitActive Start menu
Send Adjust Screen Resolution
Send {enter}
WinWaitActive Screen Resolution
ControlClick ComboBox3
Send {PgDn}
Send {Up} ; Select "Show desktop only on 1"
Send {enter}
Sleep 3000 ; workaround - cannot select accept/revert window?
Send {left}
Send {enter} ; accept changes
Return
#2::
Send {LWin}
WinWaitActive Start menu
Send Adjust Screen Resolution
Send {enter}
WinWaitActive Screen Resolution
ControlClick ComboBox3
Send {PgDn}
Send {Up}
Send {Up} ; Select "Extend these displays"
Send {enter}
Sleep 3000 ; workaround - cannot select accept/revert window?
Send {left}
Send {enter} ; accept changes
Return

Ответ 4

Прочтите данную ссылку легко.

просто скачайте dll, что нужно делать.

MyTactics.blogspot.in

Screen Srn=Screen.PrimaryScreen;

int tempWidth=Srn.Bounds.Width;
int tempHeight=Srn.Bounds.Height;
Console.WriteLine("Current Screen width is {0} and height is {1}.",
                   tempWidth,
                   tempHeight);