Question

Existe-t-il un moyen de modifier par programme la résolution de l'écran ou d'activer / désactiver plusieurs moniteurs dans Windows XP? Par exemple, pour passer de 1024x768 avec un moniteur à 1280x104 sur deux moniteurs? Une fonction win32 m'intéresserait beaucoup, mais tout ce qui peut être lié à un raccourci Windows suffit.

Était-ce utile?

La solution

Vous pouvez utiliser EnumDisplayDevices pour déterminer les affichages disponibles. et EnumDisplaySettings pour obtenir une liste des résolutions disponibles pour vos affichages. Utilisez ChangeDisplaySettings pour définir la résolution dont vous avez besoin.

Autres conseils

Oui, mais cela ne fait pas partie de .NET. Vous devrez utiliser, appeler ou écrire un wrapper pour accéder à l'API Win32.

Voir ChangeDisplaySettings et fonction associée.

Vous trouverez ici un exemple simple.

Vous pouvez facilement scripter ceci avec http://www.autohotkey.com

Voici un script pour permuter entre un moniteur et deux moniteurs avec Windows + 1 et 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

Lire le lien donné c'est facile.

Il suffit de télécharger le fichier DLL pour aller voir ..

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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top