我正在尝试基于窗口句柄在C#中捕获桌面窗口。我使用.NET并使用PInvoke to GetWindowRect()来捕获窗口矩形。我已经让窗口选择和矩形捕捉工作得很好了。
然而,捕获的窗口矩形不仅包括实际的窗口大小,还包括窗口的装饰物,如它周围的阴影。当我尝试将窗口裁剪到位图时,位图包含区域和阴影。在Windows10上,我得到了透明的阴影区域,包括任何可能在活动窗口下可见的内容:
我使用的代码非常简单,可以通过PInvoke调用使用Win32 GetWindowRect()来捕获窗口:
var rect = new Rect();
GetWindowRect(handle, re