是否可以获取不在顶部的窗口的屏幕截图,即如果它被另一个窗口部分隐藏,而不将其置于顶部?
答案 0 :(得分:1)
不幸的是,根据C#进行屏幕截图并非易事,你可以根据当前窗口或视口创建一个图形对象并捕获它,但它不是你要求的。
这个
可能会有所帮助,但无论如何你都必须使用Interop代码。
我敢说,实际上支持并不常见,一个程序没有业务知道在另一个程序中显示的内容;这可能是一个令人讨厌的漏洞。
答案 1 :(得分:1)
您不需要截屏,如果是您的应用程序,则可以使用表单对象的Control.DrawToBitmap(Bitmap bitmap, Rectangle targetBounds);
。
如果是其他应用程序窗口,您可以尝试以非托管方式获取窗口的UI。我不记得所有的方法,但我已经尝试过,它正在工作。可能GetWindow
和SendMesage
WM_PRINT / WM_PRINTCLIENT