草庐IT

SetProcessDPIAware

全部标签

c# - 是否有支持 Windows 7 的 SetProcessDPIAware 的反函数?或者如何回到原来的状态?

我在我的WinForms应用程序中使用user32.dll中的SetProcessDPIAware()函数。调用SetProcessDPIAware()后,我需要恢复到之前的进程DPI感知。我读了文章SettingthedefaultDPIawarenessforaprocess.SetProcessDpiAwareness()和SetProcessDpiAwarenessContext()不适用于Windows7或WindowsVista。如何在调用SetProcessDPIAware()后返回到进程之前的DPI感知? 最佳答案

c++ - SetProcessDPIAware 似乎在 Windows 10 下不起作用

我正在尝试在WindowsC++应用程序中获取真实的屏幕分辨率(以像素为单位)。当更改Windowsdpi设置时,我得到虚拟(调整后)分辨率而不是真实分辨率。我尝试在list中使用SetProcessDPIAware、SetProcessDpiAwareness(将所有三个枚举值作为参数)和true设置。在这三种情况下,代码在我的Windows7PC中运行良好(即显示真实分辨率),但在Win10PC中却不行(这里它忽略DPIAware设置并返回调整后的分辨率)。#defineWIN32_LEAN_AND_MEAN//Excluderarely-usedstufffromWindowsh