51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2989|回复: 2
打印 上一主题 下一主题

[Robot] 有没有抓图函数?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-10-9 11:22:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎样让Robot自己抓图,不是回放中的不期望的窗口,我想让它抓取任何窗口,有没有相关函数?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2004-11-7 00:22:02 | 只看该作者
自己写一个

用API函数,下边是个例子

下面的例子将演示怎样把桌面图片用BitBlt函数复制,你可以利用它制作抓图
把以下代码加入模块:

Declare Function BitBlt Lib "gdi32"  (ByVal hDestDC As Integer, ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal  hSrcDC As Integer, ByVal xSrc As Integer, ByVal ySrc As Integer, ByVal dwRop As Long) As Integer

Declare Function GetDesktopWindow Lib "user32" () As Long
Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Const SRCCOPY = &HCC0020
Const SRCAND = &H8800C6
Const SRCINVERT = &H660046

脚本

Dim DeskhWnd As Long
dim  DeskDC As Long

'得到桌面的hWnd

DeskhWnd& = GetDesktopWindow()
DeskDC& = GetDC(DeskhWnd&)
  
  ‘任意窗口的hdc也可以用上边的方法得到,在这里先用robot的dialog函数生成一个窗口
  ‘然后用getdc得到窗口dc,传给bitblt函数。这里getdc的参数hwnd,你可以用findwindow函数得到!
  BitBlt 窗口.hdc, 0&, 0&, _Screen.Width, Screen.Height, DeskDC&, 0&, 0&, SRCCOPY

 上边代码实现了抓图函数并显示在窗口中,图片你可以可以抓取后保存!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2004-11-8 09:11:58 | 只看该作者
高!!多谢解答。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-12 01:05 , Processed in 0.063891 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表