Windows 8 之前的 GetProcessDpiAwareness()

GetProcessDpiAwareness() prior to Windows 8

我知道我可以使用 GetProcessDpiAwareness() 来检查特定进程的 dpi 感知。然而,这仅从 Windows 8.1 向上支持。有没有办法查询在此之前进程的 dpi 感知? 我找不到任何关于它的信息。

我特别想知道这个过程是否是 运行 和 [x] Disable display scaling on high DPI settings(至少从 Windows 7.

当您选中 Windows 7(和 8)上的 "Disable display scaling on high DPI settings" 复选框时,设置为 stored in the registry,方法是创建一个名称为HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers下可执行,内容为:

  • HIGHDPIAWARE 启用显示缩放
  • ~ HIGHDPIAWARE 明确禁用显示缩放

因此您可以简单地查找该注册表项以查看是否为该进程启用或禁用了显示缩放。