Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Powershell.exe und Anzeigeskalierung (dpi)

$
0
0

Hallo,

bei Benutzeranmeldung lasse ich ein Skript ausführen, welches die Bildschirmauflösung erkennt:

 

  [void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")

  $Hauptbildschirmgröße = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize

  $Breite = $Hauptbildschirmgröße.Width

  $Höhe   = $Hauptbildschirmgröße.Height

  [System.Windows.Forms.MessageBox]::Show(„$Breite und $Höhe",“SystemInformation“,0)

 

Das funktioniert einwandfrei, wenn die Anzeigeskalierung bei 100 % steht.

 

Starte ich allerdings z.B. von einem Rechner mit einer Auflösung von 3840x2160 und einer Skalierung von 225 %, dann zeigt mir obiges Skript ausgeführt mit:

PowerShell.exe: 1707 x 960

PowerShell_ISE.exe: 3840 x 2160

oder bei 150 %:

PowerShell.exe: 2560 x 1440

PowerShell_ISE.exe: 3840 x 2160

 

Die Messagebox aus PowerShell.exe sieht matschig aus und zeigt die falsche Auflösung. PowerShell_ISE.exe scheint auf die Skalierung zu reagieren und zeigt die richtige Auflösung.

 

Meine Idee war, das Skript einfach bei Benutzeranmeldung automatisch in PowerShell_ISE.exe zu starten, aber das ist mir nicht gelungen. Den Skalierungsfaktor zu ermitteln, scheint kompliziert zu sein, denn die Umsetzung unterscheidet sich von Windows 7 bis 10.

Ich freue mich über jeden Tipp.

 

Gruß, Eric


Viewing all articles
Browse latest Browse all 2314