高分求vb截图的方法

来源:百度知道 编辑:UC知道 时间:2024/05/15 18:34:35
一般的截图并不困难.
不过一般的截图需要对象控件配合
我要做成DLL给别的程序调用,就不能有对象
简单来说就是在类模块里实现区域截图并保存
我再次强调:要在类模块里实现区域截图并保存

直接 工程->添加窗体 form1
然后在active的类中加个函数
public function abc()
form1.show vbmodal
end function
然后调用函数abc 就可以显示了
但是只能使用模式化窗体,也就是说,弹出窗体后,脚本到这里就停止了,一定要关闭窗体后,才能继续执行下面的脚本
如果你要修改显示的内容,就只能先关闭或者隐藏窗体,再传递新参数过去,再打开
传递控件内容到脚本的时候,也要绕一道弯,通过类的属性来取得
具体有很多需要注意的地方,一时半会也说不清,你可以试试,相信有vb 基础的很快就明白了

>>要在类模块里实现区域截图并保存
---------------------------------------------
你就把下面的代码放到你定义的类模块内:

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

Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long

BitBlt Me.hDC, 0, 0, Screen.Width, Screen.Height, GetDC(0), 0, 0, vbSrcCopy
SavePicture Me.Image, "C:\JieTu.BMP"

-----------------------------
区域截图:

BitBlt Me.h