以编程方式截取部分隐藏窗口的屏幕截图

是否有可能获得一个不在顶部的窗口的屏幕截图,即它是否被另一个窗口部分隐藏,而不是将其置于顶部?

不幸的是,在C#中进行屏幕截图并非易事,你可以根据当前窗口或视口创建一个图形对象并捕获它,但它不是你要求的。

这个

隐藏窗口的屏幕截图

可能有所帮助,但无论如何你必须使用Interop代码。

我敢说这不是一件普通的东西,因为一个程序没有业务知道在另一个程序中显示了什么; 这可能是一个令人讨厌的漏洞。

你不需要截屏,如果你的应用程序你可以使用Control.DrawToBitmap(Bitmap bitmap, Rectangle targetBounds); forms对象。

如果是其他应用程序窗口,您可以尝试以非托管方式获取窗口的UI。 我不记得所有的方法,但我已经尝试过,它正在工作。 可能是带有WM_PRINT / WM_PRINTCLIENT GetWindowSendMesage