在 C# 應用程式中存取 Windows 顯示設定
Windows 7 及更高版本提供可自訂的顯示設置,讓使用者可以調整文字大小和其他視覺方面。 存取這些設定對於許多應用程式確保正常功能至關重要。
在 C# 中擷取 Windows 顯示縮放
雖然 C# 可以存取顯示設置,但僅依賴 graphics.DpiX
和 DeviceCap.LOGPIXELSX
可能無法在所有層級提供準確的縮放因子。
更精確的縮放因子計算
要精確地確定縮放因子,請使用以下方法:
導入gdi32.dll
庫。
定義設備功能的列舉 (DeviceCap
)。
實作計算縮放因子的方法:
GetDeviceCaps
檢索邏輯和物理螢幕高度(以像素為單位)。 程式碼範例:
<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>
此方法可確保 C# 應用程式準確檢索 Windows 顯示縮放係數,從而能夠根據使用者顯示設定進行調整。
以上是C# 應用程式如何準確地擷取 Windows 顯示縮放因子?的詳細內容。更多資訊請關注PHP中文網其他相關文章!