2014-04-18 18 views
1

我有一个应用程序,我想有3个显示器,其中两个具有独立的视频流,第三个是其他两个可切换克隆。本质上,显示器1和2上的“扩展桌面”,然后是显示器3上的“条件克隆”。通过软件(非硬件或驱动程序)在Windows中克隆显示器

我的问题是,当AMD和NVidia分别支持Eyefinity和Mosaic时,我的应用程序需要运行在Intel集成显卡,对我所描述的内容没有驱动程序或硬件级支持。

那么,DirectX或其他Windows绘图库中是否有一些功能可以让我捕捉屏幕,然后在另一台显示器上显示该屏幕?到目前为止,试图直接复制后台缓冲区已被证明非常慢(数秒的延迟,以及极低的刷新率)。

+0

我不禁会注意到你有.net标记。我无法想象在管理系统中执行此操作的任何方法,并且性能高达 – Aron

+0

如果可以使用未受管理的设置执行此操作,那么我相信可以进行安排。 – TezlaCoil

回答

0

对于Windows 7/8,有desktop duplication API,它具有DuplicateOutput函数。

MSDN介绍了桌面复制API如下:

Windows 8中禁用标准的Windows 2000显示驱动程序模型(XDDM) 镜驱动器,并提供桌面复制API来代替。 桌面重复API提供了远程访问桌面图像的 协作场景。应用程序可以使用桌面重复API到 访问桌面的逐帧更新。由于应用程序在DXGI表面上接收到对桌面图像的更新 ,应用程序可以使用GPU的全部功能来处理图像更新。

有一个示例实现on MSDN here

相关问题