VB 截图 抓图

本文介绍了一个使用 VB.NET 编写的简单截图程序。通过调用 Windows API 函数,该程序能够捕获屏幕上的图像,并将其复制到剪贴板。此外,还提供了将截图保存为 BMP 或 JPG 文件的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VB 截图 抓图   

Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long

Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long

Private Declare Function EmptyClipboard Lib "user32" () As Long

Private Declare Function SetClipboardData Lib "user32" (ByVal wFormat As Long, _
    ByVal hMem As Long) As Long

Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, _
    ByVal hObject As Long) As Long

Private Declare Function DeleteDC Lib "gdi32" (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 CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long

Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, _
    ByVal nWidth As Long, ByVal nHeight As Long) As Long

Private Declare Function CloseClipboard Lib "user32" () As Long

Private Declare Function CreateDC Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, _
    ByVal lpDeviceName As String, ByVal lpOutput As String, lpInitData As Long) As Long

Private Sub Command1_Click()
  Me.Visible = False
  SourceDC = CreateDC("DISPLAY", 0, 0, 0)
  DestDC = CreateCompatibleDC(SourceDC)
  Bhandle = CreateCompatibleBitmap(SourceDC, 800, 600)
  SelectObject DestDC, Bhandle
  BitBlt DestDC, 0, 0, 800, 600, SourceDC, 0, 0, &HCC0020
  Wnd = Screen.ActiveForm.hwnd
  OpenClipboard Wnd
  EmptyClipboard
  SetClipboardData 2, Bhandle
  CloseClipboard
  DeleteDC DestDC
  ReleaseDC Dhandle, SourceDC
  Me.Picture = Clipboard.GetData()
  Me.Visible = True
End Sub

Private Sub Command2_Click()
  Me.Picture = Me.Image
  ''保存捕捉的图片
  CommonDialog1.Filter = "BMP文件(*.bmp)|*.bmp|JPG文件(*.jpg)|*.jpg"
  CommonDialog1.ShowSave
  CommonDialog1.Flags = &H2 + &H4 + &H8
  If CommonDialog1.FileName <> "" Then
     SavePicture Me.Picture, CommonDialog1.FileName
  End If
End Sub

Private Sub Command3_Click()
  End
End Sub

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值