vb求截取区域屏幕图并保存为文件```的代码

就像QQ截图一样```不是全屏,是可以指一定范围```为了代码的简单,范围可以设为具体值```并自动保存为文件... 就像QQ截图一样```不是全屏,是可以指一定范围```
为了代码的简单,范围可以设为具体值```
并自动保存为文件
展开
 我来答
haokeyy
2010-04-14 · TA获得超过1488个赞
知道小有建树答主
回答量:1002
采纳率:0%
帮助的人:1158万
展开全部
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Private Declare Function ReleaseDC _
Lib "user32" (ByVal hwnd As Long, _
ByVal hdc 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

Private Declare Function StretchBlt _
Lib "gdi32" (ByVal hdc 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 nSrcWidth As Long, _
ByVal nSrcHeight As Long, _
ByVal dwRop As Long) As Long

'首先,在窗体上添加个图片框PictureBox控件Name为Picture1
'截取指定位置指定大小的区域,保存到c:\1.bmp文件
Private Sub Form_Load()

Dim hDCtmp As Long

Dim w, h, X, Y

w = 300 ' 要截取屏幕部分的宽度
h = 300 ' 要截取屏幕部分的高度
X = 300 ' 横坐标 / 左边界 Left
Y = 300 ' 纵坐标 / 上边界 Top
Me.Hide
hDCtmp = GetDC(0)
Picture1.BorderStyle = 0
Picture1.AutoRedraw = True
Picture1.Width = w * Screen.TwipsPerPixelX
Picture1.Height = h * Screen.TwipsPerPixelY
Call BitBlt(Picture1.hdc, 0, 0, w, h, hDCtmp, X, Y, vbSrcCopy)
ReleaseDC 0, hDCtmp
SavePicture Picture1.Image, "c:\1.bmp"
Me.Show
End Sub
ljl88900
2010-04-14 · TA获得超过2661个赞
知道大有可为答主
回答量:2197
采纳率:100%
帮助的人:2684万
展开全部
下面是仿QQ截图的源码,请下载后稍加修改即可:
http://files.7lx.com/data/2010-04/2010april14th144024_qqcut.rar
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyt856838
2010-04-15
知道答主
回答量:17
采纳率:0%
帮助的人:17.2万
展开全部
给我邮箱,发给你代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式