C# 如何獲取屏幕分辨率縮放比例


獲取分辨率縮放比例:

 

 
         

 

        public const int HORZRES = 8;
        public const int VERTRES = 10;
        public const int LOGPIXELSX = 88;
        public const int LOGPIXELSY = 90;
        public const int DESKTOPVERTRES = 117;
        public const int DESKTOPHORZRES = 118;

        [DllImport("user32.dll")]
        public static extern IntPtr GetDC(IntPtr ptr);
        [DllImport("gdi32.dll")]
        public static extern int GetDeviceCaps(
            IntPtr hdc, // handle to DC
            int nIndex // index of capability
        );
        [DllImport("user32.dll", EntryPoint = "ReleaseDC")]
        public static extern IntPtr ReleaseDC(IntPtr hWnd, IntPtr hDc);
        [DllImport("user32.dll")]
        public static extern IntPtr GetDesktopWindow();

 

public static float GetSreenScale()
        {
            var hdc = Win32.GetDC(Win32.GetDesktopWindow());
            int nWidth = Win32.GetDeviceCaps(hdc, Win32.DESKTOPHORZRES);
            Win32.ReleaseDC(IntPtr.Zero, hdc);
            float f_Scale = (float)nWidth / (float)Screen.PrimaryScreen.Bounds.Width;
            return 1 / f_Scale;
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM