首页 > 编程知识 正文

c# 获取屏幕DPI

时间:2023-05-05 00:23:30 阅读:232511 作者:3021

方法一:用ManagementClass来获取。需要引入System.Management.dll;

using (ManagementClass mc = new ManagementClass("Win32_DesktopMonitor")) { using (ManagementObjectCollection moc = mc.GetInstances()) { int PixelsPerXLogicalInch = 0; // dpi for x int PixelsPerYLogicalInch = 0; // dpi for y foreach (ManagementObject each in moc) { PixelsPerXLogicalInch = int.Parse((each.Properties["PixelsPerXLogicalInch"].Value.ToString())); PixelsPerYLogicalInch = int.Parse((each.Properties["PixelsPerYLogicalInch"].Value.ToString())); } Console.WriteLine("PixelsPerXLogicalInch:" + PixelsPerXLogicalInch.ToString()); Console.WriteLine("PixelsPerYLogicalInch:" + PixelsPerYLogicalInch.ToString()); Console.Read(); } } View Code

方法二:用Graphics来获取。需要引入 System.Drawing.dll ;

using (Graphics graphics = Graphics.FromHwnd(IntPtr.Zero)) { float dpiX = graphics.DpiX; float dpiY = graphics.DpiY; } View Code

 

转载于:https://www.cnblogs.com/dingli/p/3187217.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。