Heim >Backend-Entwicklung >C++ >Wie können C#-Anwendungen Skalierungsfaktoren für die Windows-Anzeige genau abrufen?
Zugriff auf Windows-Anzeigeeinstellungen in C#-Anwendungen
Windows 7 und spätere Versionen bieten anpassbare Anzeigeeinstellungen, mit denen Benutzer die Textgröße und andere visuelle Aspekte anpassen können. Der Zugriff auf diese Einstellungen ist für viele Anwendungen von entscheidender Bedeutung, um die ordnungsgemäße Funktionalität sicherzustellen.
Windows-Anzeigeskalierung in C# abrufen
Obwohl C# auf Anzeigeeinstellungen zugreifen kann, liefert die alleinige Verwendung von graphics.DpiX
und DeviceCap.LOGPIXELSX
möglicherweise nicht genaue Skalierungsfaktoren auf allen Ebenen.
Eine genauere Berechnung des Skalierungsfaktors
Zur präzisen Bestimmung des Skalierungsfaktors verwenden Sie diese Methode:
Importieren Sie die gdi32.dll
Bibliothek.
Definieren Sie eine Aufzählung für Gerätefunktionen (DeviceCap
).
Implementieren Sie eine Methode zur Berechnung des Skalierungsfaktors:
GetDeviceCaps
, um die logischen und physischen Bildschirmhöhen in Pixel abzurufen.Codebeispiel:
<code class="language-csharp">using System; using System.Drawing; using System.Runtime.InteropServices; public class DisplayScaler { [DllImport("gdi32.dll")] static extern int GetDeviceCaps(IntPtr hdc, int nIndex); public enum DeviceCap { VERTRES = 10, DESKTOPVERTRES = 117 } public float GetScalingFactor() { using (Graphics g = Graphics.FromHwnd(IntPtr.Zero)) { IntPtr desktop = g.GetHdc(); int logicalHeight = GetDeviceCaps(desktop, (int)DeviceCap.VERTRES); int physicalHeight = GetDeviceCaps(desktop, (int)DeviceCap.DESKTOPVERTRES); g.ReleaseHdc(desktop); return (float)physicalHeight / logicalHeight; } } }</code>
Dieser Ansatz stellt sicher, dass C#-Anwendungen den Windows-Anzeigeskalierungsfaktor genau abrufen und Anpassungen basierend auf den Anzeigeeinstellungen des Benutzers ermöglichen.
Das obige ist der detaillierte Inhalt vonWie können C#-Anwendungen Skalierungsfaktoren für die Windows-Anzeige genau abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!