在SizableWindows 8上将表单边框样式设置为WinForms表单时,该DesktopBounds属性将指示正确的值:

相反,当具有表单边框样式时FixedDialog,值是错误的:

在Windows XP上,值始终是正确的:


我的问题是:
如何获得包含完整非客户区域的窗口的实际大小?
更新1:
似乎它与这个SO问题有关.我会试着看看这是否能在这里解决我的问题.
更新2:
为了完整起见,以下是VMware Windows 7的结果:


更新3:
最后找到了一个解决方案,它涉及将DwmGetWindowAttribute函数与DWMWA_EXTENDED_FRAME_BOUNDS值一起使用.我将在下面发布一个答案.