在 C# 應用程式中存取和利用 Windows 顯示縮放
Windows 使用者可以調整顯示縮放比例來修改文字和 UI 元素的大小。 對於需要使應用程式適應不同的縮放設定以獲得最佳使用者體驗的 C# 開發人員來說,此功能至關重要。
精確決定縮放因子
Graphics.DpiX
和 DeviceCap.LOGPIXELSX
等標準方法在決定準確的縮放因子方面可能不可靠。更穩健的方法涉及使用邏輯和物理螢幕高度來計算因子:
<code class="language-csharp">[DllImport("gdi32.dll")] static extern int GetDeviceCaps(IntPtr hdc, int nIndex); public enum DeviceCap { VERTRES = 10, DESKTOPVERTRES = 117, } private 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>
此函數利用 GetDeviceCaps
來取得邏輯和實體螢幕高度。然後將縮放因子計算為這些高度的比率,從而精確反映使用者的顯示縮放設定。 這確保了不同顯示配置下應用程式行為的一致性。
以上是如何在 C# 中準確地確定 Windows 顯示比例因子?的詳細內容。更多資訊請關注PHP中文網其他相關文章!