【发布时间】:2010-12-13 13:49:58
【问题描述】:
我想创建一个可以显示应用程序当前内容的窗口,例如 Powerpoint 或 Adobe Reader。
当我运行我的应用程序时,我会首先选择我需要实时监控的当前正在运行的应用程序。完成后,我需要获取所选应用程序的当前内容并显示它。由于我的应用程序将是实时的,因此需要在所选应用程序更改时(以最小的延迟)捕获所选应用程序的内容,然后将其显示出来。
据我了解,这大致包括以下步骤: 1. 选择我要监控的应用程序 2.当该应用程序(客户区)的内容发生变化时获取“通知” 3. 捕获新内容并显示它
步骤 [1] 和 [3] 非常简单,我在这里找到了几种方法来执行它们。但是,对于舞台[2],我仍然一无所知。任何人都可以阐明如何实现这一目标吗?
干杯。
【问题讨论】:
-
你会认为这在 Windows Vista/7 中使用 DWM 和 Aero Peek 变得容易得多,但我不知道有任何 API 可以利用 DWM 渲染。
-
粗略浏览一下 DWM 表明它在 Win7/Vista 和 WDDM 版本中的工作方式不同。如果可以的话,我可能不会采用这种方法,因为我希望支持所有使用相同代码库的人。也没有在它的支持列表中找到任何提及 XP 的内容。
标签: winapi user-interface screenshot capture