调用GetWindowRect时,我得到的结果表明窗口的实际大小是1/4。
我正在使用带有4K显示器的Windows 10,并且某些UI元素已缩放,我想知道这是否有所贡献。
我没有任何代码或工作要显示,我只是导入并调用User32函数。 rect字段以正确的顺序声明。
任何人都可以告诉我尺寸不正确的原因吗?也许如何适当地扩展它们?
答案 0 :(得分:3)
您的流程需要标记为DPI识别,您可以在应用程序清单中执行此操作。如果不这样做,您的应用程序将受DPI虚拟化的影响。请参阅:Writing DPI-Aware Desktop and Win32 Applications
答案 1 :(得分:0)
在 DwmGetWindowAttribute
参数中使用 DWMWA_EXTENDED_FRAME_BOUNDS
和 dwAttribute
。
这应该以像素为单位为您提供窗口的实际大小。
在此处阅读更多信息:https://docs.microsoft.com/en-us/windows/win32/api/dwmapi/nf-dwmapi-dwmgetwindowattribute