使用代码执行正在运行的应用程序的屏幕截图

Alb*_*lal 4 vb6 ms-access vba

我需要运行一些代码来捕获在Windows桌面上运行的应用程序的窗口(Windows XP在这里很好).

Web上有许多VB6示例,但它们往往只捕获正在运行的VB6应用程序或桌面.我正在寻找一个捕获给定窗口/应用程序的解决方案.所以,我希望能够提供要捕获的应用程序窗口的名称.

快速的Bing搜索确实产生了一些代码示例,但它们捕获了桌面或当前运行的VB6应用程序.我愿意修改其中一个来捕获给定的窗口(命名应用程序).

但是在我这样做之前,也许某人有一个链接到vb6或VBA库代码示例,该示例将捕获/保存给定的命名应用程序窗口到硬盘上的bmp或某种类型的图像文件.

这里有一个VB6或VBA解决方案的链接.我愿意修改现有的例子.

Mar*_*rkJ 9

您可能已经知道这一点,但窗口由一个称为窗口句柄的唯一4字节长标识.获取屏幕截图的任何代码示例都可以执行任何窗口:桌面,当前应用程序或任何正在运行的应用程序.您只需要使用正确的窗口句柄.

这是一些构建块:

  1. 根据标题或标题的一部分查找应用程序的窗口句柄.取自Karl E Peterson优秀的VB6网站.或者是Microsoft知识库文章做同样的事情.编辑或者对于像你这样的一次性工作,只需通过点击带有Spy ++或免费克隆等调试工具的窗口手动找到它.
  2. 这是从Steve McMahon出色的vbAccelerator 获取桌面屏幕截图的代码.只需更改代码,使其使用步骤1中找到的窗口句柄,而不是返回的窗口句柄GetDesktopWindow().