sola - reparar resolucion de pantalla windows 7
¿Cambia programáticamente la resolución de la pantalla? (4)
¿Hay alguna manera de cambiar la resolución de la pantalla mediante programación o habilitar / deshabilitar múltiples monitores en Windows XP? Por ejemplo, ¿cambiar de 1024x768 con un monitor a 1280x104 en dos monitores? Estaría muy interesado en una función de win32 para hacer esto, pero cualquier cosa que pueda vincularse con un atajo de Windows sería suficiente.
Sí, pero no es parte de .NET. Tendrá que utilizar, invocar o escribir un contenedor para acceder a la API de Win32.
Ver ChangeDisplaySettings y la función relacionada.
Aquí puedes encontrar un ejemplo básico.
Puede guiar fácilmente esto con http://www.autohotkey.com
Aquí hay un script para intercambiar entre un monitor y dos monitores con Windows + 1 y 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
Puede usar EnumDisplayDevices para descubrir qué pantallas tiene disponibles y EnumDisplaySettings para obtener una lista de resoluciones disponibles para sus pantallas. Use ChangeDisplaySettings para establecer la resolución que necesita.
Leer el enlace dado es fácil.
solo descarga el dll lo bueno para ir ...
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);