是否可以从Windows应用程序中进行屏幕抓取并在另一个屏幕上重新显示?

问题描述:

我想聚合并重新排列多个程序的显示。有没有办法,在Windows中,最好是C#,从其他正在运行的应用程序中截取纹理?是否可以从Windows应用程序中进行屏幕抓取并在另一个屏幕上重新显示?

+0

会发生什么,对彼此? – 2010-11-29 16:04:02

在启用了DWM(即Aero-Glass)的Vista和Windows 7中,DWM Thumbnails API提供了一种使用最少的资源使用和滞后来完成此操作的好方法。

如果您需要支持较旧版本的Windows或更新版本,但是DWM可能未启用/可用,那么我认为您可能需要循环复制屏幕/窗口DC并绘制您获得的内容进入你自己的窗口,这将是非常缓慢的,可能会使用大量的CPU。

(如果你想获得真正的高级技术,你也许可以写出某种镜显示驱动器之类的东西,但是这是非常复杂的。)如果两个方案这样做的同时