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

时间:2011-08-12 08:23:57

标签: c# .net screenshot

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

2 个答案:

答案 0 :(得分:1)

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

这个

Screenshot of Hidden Window

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

我敢说,实际上支持并不常见,一个程序没有业务知道在另一个程序中显示的内容;这可能是一个令人讨厌的漏洞。

答案 1 :(得分:1)

您不需要截屏,如果是您的应用程序,则可以使用表单对象的Control.DrawToBitmap(Bitmap bitmap, Rectangle targetBounds);

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