2

我准备外包我们应用程序的屏幕捕获功能,因为这不是我们的核心业务,而且我花了太多时间试图让我们的代码完成我需要的所有事情。我想是时候找专家了。我的要求按重要性降序排列如下。是否有人对满足大部分或所有这些要求的任何商业或免费图书馆有经验?

  1. 必须在 Windows XP 及更高版本中工作。(但不是 Win95/98/Me。)

  2. Visual C++ 2005 兼容,可以从我的代码中触发屏幕截图。最好是静态库,但 DLL 或 COM 对象也可以。我不希望使用独立的 EXE,因为有些用户会尝试篡改我们的应用程序,我认为拥有一个明显的单独屏幕截图 EXE 会使这变得太容易了。

  3. 必须能够截取多个监视器系统的完整屏幕截图。(最好是“打印屏幕”键在 Windows 中的方式,通过制作拼接在一起的显示位图,但如果我必须单独拍摄照片并自己组合它们,这是可以接受的。)

  4. 当远程桌面客户端(或任何 RDP 客户端或 VM)处于全屏模式时,必须能够正确捕获屏幕。(当然,当 RDP 处于窗口模式时它也应该工作,但只要它不通过模拟可能被传输到远程操作系统而不是在本地处理的按键来操作,这应该不是问题。 )

  5. 当 Windows Media Player(或任何其他媒体播放器)处于全屏模式时,必须能够正确捕获屏幕。

  6. 当游戏(例如魔兽世界)处于全屏模式时必须能够正确捕获屏幕。

  7. 能够将几秒钟的用户活动捕获为视频会很高兴。

4

4 回答 4

1

我不知道有一个图书馆会做你想做的事。

如果我必须对您的要求进行编码,我可能会使用 TightVNC 服务器的源代码作为我的起点。我认为它有技术可以做你清单上的所有事情,除了......

我不确定从技术上讲是否有任何东西可以对某人的远程桌面会话进行屏幕截图。想一想:使用同一个物理远程桌面服务器可能会发生多个远程桌面会话(csrss.exe 进程)。如果您坐在机器前看着视频监视器,您根本看不到任何事情发生。那么你希望捕捉到什么。VNC 只会捕捉“真实”视频(非远程 csrss.exe)发生的情况。

于 2009-09-27T03:12:44.790 回答
1

我不知道这是否真的有帮助,但最好的成像库可从

www.accusoft.com 和

www.leadtools.com

两者都支持创建屏幕截图,但我不知道他们是否会正确捕获通过图形加速或从屏幕录制电影显示的电影播放器​​输出。

于 2009-09-28T08:42:01.207 回答
0

如果我是你,我会研究WindowsClippings,这是一个用 C++ 编写的非常成熟且可扩展的应用程序,它完全可以满足你的需要。它有一个 API,您可以根据您的要求进行扩展,而且非常便宜,只需 18 美元

于 2009-09-28T12:45:34.487 回答
0

我们办公室的一些人正在使用 Magick++(一个 ImageMagick 库)来制作屏幕截图。我不知道所有规格,但你可以看看它,看看它是否符合你的要求。

希望这可以帮助。

问候,

塞巴斯蒂安

于 2009-09-22T07:18:31.087 回答