VB能抓图吗?

来源:百度知道 编辑:UC知道 时间:2024/06/01 00:28:23
这样的功能:

1 第一次打开软件第一次点抓图会提示抓图范围.就象QQ抓图一样,画个框!那就是抓图范围!
2 打开软件之后除了第一次会提示之外,再使用就不提示了,就默认抓刚才定义的那个范围(就是画的那个框)
3 下次再打开还会提示抓图范围
给段代码啊?

你是不会抓屏,还是不会让它下次抓同一区域?

不会抓屏就去研究一下GetDC和BitBlt这两个API

让它下次抓同一区域,可以用VB自带的GetSetting和SaveSetting
用GetSetting从注册表中读出上次保存的位置,如果读不到说明是第一次运行,提示用户选择抓屏区域,读到了自然就是直接抓啦
窗体退出时或是用户选择抓屏区域时,把这个数据用SaveSetting写入注册表,以备下次读取

========================

简单的抓屏例子

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
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Private Sub Form_Load()
Me.Hide
Me.AutoRedraw = True
BitBlt Me.hDC, 0, 0, Screen.Width, Screen.Height, GetDC(0), 0, 0, vbSrcCopy
Me.Show
End Sub

可以抓的。

可以,但怎么实现就不清楚了