检查Windows 7上是否有其他进程可以识别DPI

时间:2019-05-10 07:05:52

标签: c++ winapi windows-7

如何在Windows 7上检查其他进程是否知道dpi?我知道这里有IsProcessDPIAware(),但这仅适用于调用过程(我宁愿不走dll注入的途径)。 另一个选择是检查注册表中是否设置了HIGHDPIAWARE标志,但是我不知道这是否可靠,并且我认为它不是很快!!

还有其他更好的选择吗?

1 个答案:

答案 0 :(得分:1)

根据doc

  

以前的Windows版本(表示<8.1)要求您进行设置   整个应用程序的DPI意识。现在,DPI的意识是   绑定到各个线程,进程或窗口。这意味着   当应用运行时,DPI意识可能会发生变化,并且   窗口可以具有自己的独立DPI感知值。

在Windows的早期版本中,整个应用程序的DPI值仅设置一次。 因此,检查Window 7中keyvalue标志的注册表设置是可靠的,这是检查另一个进程的DPI意识的方法。