如何在Windows 7上检查其他进程是否知道dpi?我知道这里有IsProcessDPIAware()
,但这仅适用于调用过程(我宁愿不走dll注入的途径)。
另一个选择是检查注册表中是否设置了HIGHDPIAWARE
标志,但是我不知道这是否可靠,并且我认为它不是很快!!
还有其他更好的选择吗?
答案 0 :(得分:1)
根据doc:
以前的Windows版本(表示<8.1)要求您进行设置 整个应用程序的DPI意识。现在,DPI的意识是 绑定到各个线程,进程或窗口。这意味着 当应用运行时,DPI意识可能会发生变化,并且 窗口可以具有自己的独立DPI感知值。
在Windows的早期版本中,整个应用程序的DPI值仅设置一次。
因此,检查Window 7中keyvalue
标志的注册表设置是可靠的,这是检查另一个进程的DPI意识的方法。