Obtenir la résolution d'écran en utilisant WMI / powershell dans Windows 7
J'utilise le script suivant pour obtenir la résolution de l'écran dans Windows à l'aide de WMI. Le script fonctionne correctement lorsque l'ordinateur est en mode paysage, mais renvoie des valeurs incorrectes lorsque en mode portrait. Fonctionne correctement sous XP et n'essayez pas de Vista. Quelqu'un peut confirmer c'est un bug dans Windows 7 WMI.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_DesktopMonitor",,48)
For Each objItem in colItems
Wscript.Echo "-----------------------------------"
Wscript.Echo "Win32_DesktopMonitor instance"
Wscript.Echo "-----------------------------------"
Wscript.Echo "ScreenHeight: " & objItem.ScreenHeight
Wscript.Echo "ScreenWidth: " & objItem.ScreenWidth
Next
source d'informationauteur user281693
Vous devez vous connecter pour publier un commentaire.
Pour l'enregistrement, la PowerShell de code est:
- Je obtenir les mêmes valeurs en mode Paysage ou en mode Portrait.
Mise à JOUR:
Dans un environnement à plusieurs écrans, vous pouvez obtenir de l'info pour tous les écrans avec:
Vous pouvez récupérer ce à partir de la
Win32_VideoController
classe WMI. LeVideoModeDescription
propriété comprend la résolution d'écran et la profondeur de couleur.Résultat
Même que les autres réponses, mais pour la plaine cmd:
wmic path Win32_VideoController get VideoModeDescription
@Shay Levy réponse ci-dessus indique avec précision la Largeur/Hauteur qui a été actif lors de la session powershell a été lancé. Si vous faites pivoter le moniteur PS après son lancement, elle continue de présenter l'original, maintenant des valeurs incorrectes.
Le SystemInformation de la classe offre un autre moyen d'obtenir l'orientation et les changements dans l'actuel PS session, même si l'affichage est mis en rotation après la séance de lancement.
Faire pivoter le moniteur, puis...
https://msdn.microsoft.com/en-us/library/system.windows.forms.systeminformation(v=vs. 110).aspx
C'est ma essayer :
Vous pouvez obtenir toutes de résolution disponibles avec cette commande: