指定進程的默認 DPI 識別有兩種主要方法:
1 ) 通過應用程序清單設置
2 ) 通過 API 調用以編程方式
為進程 (Windows 設置默認 DPI 感知) - Win32 apps | Microsoft Docs
第一種方法:通過應用程序清單設置
1)為應用程序添加app.manifest
清單文件
添加 app.manifest 的步驟:
鼠標右擊工程在菜單中選擇“屬性”,點擊工程屬性的“安全性”標簽,在安全性標簽頁中勾選“啟用ClickOnce安全設置”,並選擇“這是完全可信的應用程序”,保存工程,此時在Properties下已經自動生成了app.manifest文件。
2)打開 app.manifest ,取消紅框的注釋即可
第一種方法:通過 API 調用以編程方式
在Program.cs 中添加紅框的代碼,DPI函數需在窗口打開函數之前
namespace ui { internal static class Program { /// <summary> /// 應用程序的主入口點。 /// </summary> [STAThread] static void Main() { if (Environment.OSVersion.Version.Major >= 6) SetProcessDPIAware(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } [System.Runtime.InteropServices.DllImport("user32.dll")] private static extern bool SetProcessDPIAware(); } }