Windows 8之前的GetProcessDpiAwareness()

问题描述 投票:2回答:1

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

特别是我想知道这个过程是否与[x] Disable display scaling on high DPI settings一起运行(至少可以从Windows 7获得。

c++ winapi windows-7 dpi dpi-aware
1个回答
5
投票

当您在Windows 7(和8)上选中“禁用高DPI设置上的显示缩放”复选框时,该设置为stored in the registry,通过创建一个密钥,其名称是HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers下可执行文件的完全限定路径,其内容为:

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

因此,您只需查找该注册表项即可查看是否为该进程启用或禁用了显示缩放。