把VB当前的窗口保存成图片到桌面 ?
2个回答
展开全部
Call keybd_event(vbKeySnapshot, theForm, 0, 0) '截取活动的本窗体
'‘若theForm改成theScreen则Copy整个Screen
DoEvents
PictureClip1.Picture = Clipboard.GetData(vbCFBitmap) 'PictureClip1.Picture得到剪切板的内容(截取的本窗体)
'以用API函数getsystemmetric获得窗口标题栏的默认高度(实际上为26,边框为4,单位像素),
PictureClip1.ClipX = aicAlphaImage1Front.Left + 4
PictureClip1.ClipY = aicAlphaImage1Front.Top + 26 + 4 + 2 '此处的2为实验后的经验
'抓图的x y坐标,指左上角的坐标
PictureClip1.ClipHeight = aicAlphaImage1Front.Height
PictureClip1.ClipWidth = aicAlphaImage1Front.Width
'抓图的大小
Picture1.Picture = PictureClip1.Clip 'picture1得到剪切后的本窗体某个区域(大头贴)的内容
Clipboard.Clear
PhotoName = CStr(Date) & "-" & CStr(Format(Now, "h-m-s")) + ".Bmp"
PhotoName1 = App.Path + "\大头贴相片\" & PhotoName
SavePicture Picture1.Image, PhotoName1
'‘若theForm改成theScreen则Copy整个Screen
DoEvents
PictureClip1.Picture = Clipboard.GetData(vbCFBitmap) 'PictureClip1.Picture得到剪切板的内容(截取的本窗体)
'以用API函数getsystemmetric获得窗口标题栏的默认高度(实际上为26,边框为4,单位像素),
PictureClip1.ClipX = aicAlphaImage1Front.Left + 4
PictureClip1.ClipY = aicAlphaImage1Front.Top + 26 + 4 + 2 '此处的2为实验后的经验
'抓图的x y坐标,指左上角的坐标
PictureClip1.ClipHeight = aicAlphaImage1Front.Height
PictureClip1.ClipWidth = aicAlphaImage1Front.Width
'抓图的大小
Picture1.Picture = PictureClip1.Clip 'picture1得到剪切后的本窗体某个区域(大头贴)的内容
Clipboard.Clear
PhotoName = CStr(Date) & "-" & CStr(Format(Now, "h-m-s")) + ".Bmp"
PhotoName1 = App.Path + "\大头贴相片\" & PhotoName
SavePicture Picture1.Image, PhotoName1
追问
这是按钮click事件么?
保存的时候能自动存在桌面以text1内的字符为文件名吗?
追答
修改了一下,调试通过!form上放置一个picturebox,为了不影响窗口布局,可以拖到窗口不可见区域
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const theForm = 1
Const theScreen = 0
Private Sub Command1_Click()
Picture1.Visible = False
Picture1.Move 0, 0, Me.Width, Me.Height
Call keybd_event(vbKeySnapshot, theForm, 0, 0) '截取活动的本窗体,若theForm改成theScreen则Copy整个Screen
DoEvents
Picture1.Picture = Clipboard.GetData(vbCFBitmap) 'Picture1.Picture得到剪切板的内容(截取的本窗体)
Clipboard.Clear
PhotoName = "\VB截图.Bmp"
PhotoName1 = App.Path & PhotoName
SavePicture Picture1.Image, PhotoName1
End Sub
展开全部
楼上这位回答得不错,只是楼主比较关心的是如何放在桌面上去。
楼主你可以自己修改这句:
PhotoName1 = App.Path & PhotoName
这个变量是用来存放位置的,你自己改到桌面去,比方:
PhotoName1 = "C:\Documents and Settings\ANDROID\桌面\"+Text1.Text+".bmp"
当然ANDROID用你自己的用户名来替换。
楼主你可以自己修改这句:
PhotoName1 = App.Path & PhotoName
这个变量是用来存放位置的,你自己改到桌面去,比方:
PhotoName1 = "C:\Documents and Settings\ANDROID\桌面\"+Text1.Text+".bmp"
当然ANDROID用你自己的用户名来替换。
来自:求助得到的回答
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询