指定进程的默认 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(); } }