检索 Windows 10 阴影边框的大小

Retrieving size of Windows 10 shadowing border

我们有一个应用程序可以在特定应用程序 windows 和对话框周围绘制彩色边框。

我们使用GetWindowRect得到一个应用程序的矩形window。但是在 Windows 10 上,此函数包含阴影边框,导致我们的彩色边框和应用程序之间存在较大差距 window。所以我们需要补偿阴影边界。

我们可以使用哪个 API 来确定应用程序 windows 和 Windows 10 中的对话框周围阴影边框的宽度?

我找到了解决方案。使用 DwmGetWindowAttribute with DWMWA_EXTENDED_FRAME_BOUNDS 获得正确的尺寸:

DwmGetWindowAttribute(hWnd, DWMWA_EXTENDED_FRAME_BOUNDS, &rect, sizeof(rect));