C#-获取窗口的阴影尺寸

我需要知道窗口的阴影尺寸.我尝试通过GetSystemMetrics WinAPI函数接收值,但是找不到要传递的参数.
关于如何在全局(或单个窗口句柄)中获取此值的任何想法吗?我知道投影的宽度取决于窗口类型(对话框/正常/等等).
可以使用C#实现此功能,但是C也可以.

解决方法:

有一种使用DWM API来确定阴影大小的方法,但是,只有在窗口可见时它才起作用.

Windows的早期版本中,有Client Rect和Window Rect.但是自从Vista发布以来,用于窗口的第三个Rect窗口称为Extended Frame Bounds.第三个rect大于Client Rect并小于Window Rect,并且不包括阴影占用的区域.

调用DwmGetWindowAttribute(hwnd,DWMWA_EXTENDED_FRAME_BOUNDS,& rect,sizeof(RECT))来读取扩展帧边界rect.此函数来自< dwmapi.h&gt ;,并且
在Windows XP或更早版本中不可用.

请注意,如果在显示窗口之前调用此方法,将会得到不正确的结果.

上一篇:MBR10100FCT-ASEMI全塑封肖特基二极管绝缘性好


下一篇:Python最全学习指南,月入12K不是梦!