| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2248 人关注过本帖
标题:[求助]VB 截图报错
只看楼主 加入收藏
loyxqing
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2022-3-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
[求助]VB 截图报错
最近练习VB编程,网上找了段VB截图,不知道为什么对象错误,麻烦哪位大神给解答下
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const theScreen = 0
Const theForm = 1
Private Sub Command1_Click()
Call keybd_event(vbKeySnapshot, theScreen, 0, 0)
DoEvents
Picture1.Picture = Clipboard.GetData(vbCFBitmap)
End Sub
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: ByVal 报错 Private VB Sub 
2022-03-15 20:58
loyxqing
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2022-3-10
收藏
得分:0 
运行到这句Picture1.Picture = Clipboard.GetData(vbCFBitmap)  报错
2022-03-15 20:59
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1925
专家分:2992
注 册:2009-12-22
收藏
得分:10 
程序代码:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const theScreen = 0
Const theForm = 1

Private Sub Form_Load()
Call keybd_event(vbKeySnapshot, theScreen, 0, 0)
DoEvents
Me.Picture = Clipboard.GetData(vbCFBitmap)
sFile$ = "C:\" & Format(Now, "yyyymmddhhmmss") & ".BMP"
SavePicture Me.Picture, sFile
MsgBox "当前屏幕图像已经保存到" & sFile, 64
End
End Sub

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2022-03-15 21:06
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1925
专家分:2992
注 册:2009-12-22
收藏
得分:10 
截图有好几种,全屏截图、指定区域截图、截取指定句柄的图、对VB控件截图,VB6都很好实现。

其中VB全屏截图又有好几种方式。

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2022-03-15 21:27
独木星空
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:801
专家分:683
注 册:2016-6-29
收藏
得分:0 
回复 4楼 yuma
“心生万象,万象皆程序”。你对vb6编程大彻大悟,我爱看网络小说,有一种法相:是万象法,即万物万事皆法相。

素数问题的解决是我学习编程永恒的动力。
2022-03-17 07:21
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1925
专家分:2992
注 册:2009-12-22
收藏
得分:0 
回复 5楼 独木星空
你这样说,我都不知道怎么回答你。

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2022-03-18 19:50
xiaofisher
Rank: 1
等 级:新手上路
威 望:1
帖 子:3
专家分:0
注 册:2022-4-21
收藏
得分:0 
尽量不要用剪贴板,用户体验不好,这点连VB6本身也被诟病(比如你从网上或其他工程中复制了一段VB代码,打开一个新的VB6进程,按Ctrl+V时会发现粘贴不上)
程序代码:
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 Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long

Private Sub Form_Click()
    Dim hDCScreen As Long
    hDCScreen = GetDC(0)
    BitBlt Me.hdc, 0, 0, Screen.Width, Screen.Height, hDCScreen, 0, 0, vbSrcCopy
    ReleaseDC 0, hDCScreen
End Sub
2022-05-07 10:45
快速回复:[求助]VB 截图报错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016850 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved