下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 大家知道在VB下利用API函数Bitblt可以将屏幕或者窗口上的图象拷贝到VB中的PictureBox对象中,但是如果简单的利用PictureBox的SavePicture函数来保存图象,会发现什么也保存不了。这篇文章就是介绍如何捕获并利用Windows下的OLE API函数保存图象。首先来看源程序,首先建立一个新的工程文件,然后在Form1中加入5个CommandButton对象和一个PictureBox对象,然后在Form1中加入以下代码:Option ExplicitOption Base 0Private Type PALETTEENTR
2、Y peRed As Byte peGreen As Byte peBlue As Byte peFlags As ByteEnd TypePrivate Type LOGPALETTE palVersion As Integer palNumEntries As Integer palPalEntry(255) As PALETTEENTRYEnd TypePrivate Type GUID Data1 As Long Data2 As Integer Data3 As Integer Data4(7) As ByteEnd TypePrivate Const RASTERCAPS As L
3、ong = 38Private Const RC_PALETTE As Long = &H100Private Const SIZEPALETTE As Long = 104Private Type RECT Left As Long Top As Long Right As Long Bottom As LongEnd TypePrivate Declare Function CreateCompatibleDC Lib "GDI32" (ByVal hDC As Long) As LongPrivate Declare Function CreateCompat
4、ibleBitmap Lib "GDI32" (ByVal hDC As Long, _ByVal nWidth As Long, ByVal nHeight As Long) As LongPrivate Declare Function GetDeviceCaps Lib "GDI32" (ByVal hDC As Long, ByVal _iCapabilitiy As Long) As LongPrivate Declare Function GetSystemPaletteEntries Lib "GDI32" (ByVal
5、 hDC As Long, _ByVal wStartIndex As Long, ByVal wNumEntries As Long, lpPaletteEntries _As PALETTEENTRY) As LongPrivate Declare Function CreatePalette Lib "GDI32" (lpLogPalette As LOGPALETTE) _As LongPrivate Declare Function SelectObject Lib "GDI32" (ByVal hDC As Long, ByVal hObje
6、ct _As Long) As LongPrivate Declare Function BitBlt Lib "GDI32" (ByVal hDCDest As Long, ByVal XDest As _Long, ByVal YDest As Long, ByVal nWidth As Long, ByVal nHeight As Long, _ByVal hDCSrc As Long, ByVal XSrc As Long, ByVal YSrc As Long, ByVal dwRop _As Long) As LongPrivate Declare Functi
7、on DeleteDC Lib "GDI32" (ByVal hDC As Long) As LongPrivate Declare Function GetForegroundWindow Lib "USER32" () As LongPrivate Declare Function SelectPalette Lib "GDI32" (ByVal hDC As Long, ByVal hPalette _As Long, ByVal bForceBackground As Long) As LongPrivate Declare
8、Function RealizePalette Lib "GDI32" (ByVal hDC As Long) As LongPrivate Declare Function GetWindowDC Lib "USER32" (ByVal hWnd As Long) As LongPrivate Declare Function GetDC Lib "USER32" (ByVal hWnd As Long) As LongPrivate Declare Function GetWindowRect Lib "USER32&q
9、uot; (ByVal hWnd As Long, lpRect As _RECT) As LongPrivate Declare Function ReleaseDC Lib "USER32" (ByVal hWnd As Long, ByVal hDC As _Long) As LongPrivate Declare Function GetDesktopWindow Lib "USER32" () As LongPrivate Type PicBmp Size As Long Type As Long hBmp As Long hPal As Lo
10、ng Reserved As LongEnd TypePrivate Declare Function OleCreatePictureIndirect Lib "olepro32.dll" (PicDesc As _PicBmp, RefIID As GUID, ByVal fPictureOwnsHandle As Long, IPic As IPicture) As Long注释:捕捉整个屏幕Private Sub Command1_Click() Set Picture1.Picture = CaptureScreen()End Sub注释:在两秒钟后捕捉当前的活动
11、窗口Private Sub Command2_Click()MsgBox "当你关闭这个对话框两秒钟之后程序会捕捉处于活动状态的窗口."注释:等待两秒钟Dim EndTime As DateEndTime = DateAdd("s", 2, Now)Do Until Now > EndTime DoEvents LoopSet Picture1.Picture = CaptureActiveWindow()Me.SetFocusEnd SubPrivate Sub Command3_Click()Set Picture1.Picture = Not
12、hingEnd SubPublic Function CreateBitmapPicture(ByVal hBmp As Long, ByVal hPal As Long) As PictureDim r As Long Dim Pic As PicBmp Dim IPic As IPicture Dim IID_IDispatch As GUID 注释:填充IDispatch界面 With IID_IDispatch.Data1 = &H20400.Data4(0) = &HC0.Data4(7) = &H46 End With 注释:填充Pic With Pic.Size = Len(Pic)注释: Pic结构长度.Type = vbPicTypeBitma
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025全新高处作业证理论考试题库高空证考试试题(附答案)
- 2026年南京紫金投资集团有限责任公司人员招聘考试参考试题及详细答案解析
- 2025上中学综合素质模拟题一 答案
- 小学二年级美术《多彩的挂饰》教学设计
- 2025心肺复苏操作标准考试题及答案
- 高中信息技术必修1《走近数据分析》项目式教学设计
- 2025孕产期保健及高危孕产妇管理培训班考核试题有答案
- 2025员额法官遴选面试题及答案(必刷)
- 2026爱国主义教育知识考试题库及参考答案
- 2026【安全员C3证】考试题库(含答案)
- 2026标准短视频拍摄合同律师审核修订版条款严谨权利义务对等公平合理可签
- 中国临床肿瘤学会(CSCO)胃癌诊疗指南(2026版)
- T SCSIA 0015-2023《四川省信息化项目费用测算标准》
- 2026年产科急症多学科协作处置试题(含答案)
- 小学主题班会课件:语言表达
- 设备检维修作业风险识别培训课件
- 《决策树与智能推理》教学课件-2025-2026学年人教版初中信息技术(人工智能专册)
- 2026年春季开学“两案九制”完整文件,工作方案应急预案晨午检复课证明传染病防控健康教育消毒隔离制度等
- 市政污水管网工程量计算表
- 2026年超声乳化术配合培训视频资料
- 国际贸易参展计划书模板
评论
0/150
提交评论