VB抓屏保存為文件實現(xiàn)代碼

字號:

下面是一個VB抓屏保存為文件的源文件,很不錯的,有精力的可以參考一下。
    保存在標準模塊
    Option Explicit
    Public Type BITMAPFILEHEADER
     bfType(0 To 1) As Byte
     bfSize As Long
     bfReserved1 As Integer
     bfReserved2 As Integer
     bfOffBits As Long
    End Type
    Public Type BITMAPINFOHEADER \'40 bytes
     biSize As Long
     biWidth As Long
     biHeight As Long
     biPlanes As Integer
     biBitCount As Integer
     biCompression As Long
     biSizeImage As Long
     biXPelsPerMeter As Long
     biYPelsPerMeter As Long
     biClrUsed As Long
     biClrImportant As Long
    End Type
    Public Declare Function GetDC Lib \"user32\" (ByVal hwnd As Long) As Long
    Public Declare Function CreateCompatibleDC Lib \"gdi32\" (ByVal hdc As Long) As Long
    Public Declare Function CreateDIBSection Lib \"gdi32\" (ByVal hdc As Long, pBitmapInfo As BITMAPINFOHEADER, ByVal un As Long, lplpVoid As Long, ByVal handle As Long, ByVal dw As Long) As Long
    Public 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
    Public Declare Function SelectObject Lib \"gdi32\" (ByVal hdc As Long, ByVal hObject As Long) As Long
    Public Declare Function DeleteDC Lib \"gdi32\" (ByVal hdc As Long) As Long
    Public Declare Function ReleaseDC Lib \"user32\" (ByVal hwnd As Long, ByVal hdc As Long) As Long
    Public Declare Function DeleteObject Lib \"gdi32\" (ByVal hObject As Long) As Long
    Public Declare Sub CopyMemory Lib \"kernel32\" Alias \"RtlMoveMemory\" (ByVal Destination As Long, ByVal Source As Long, ByVal Length As Long)
    Public Const DIB_RGB_COLORS = 0
    Public Const SRCCOPY = &HCC0020
    \'
    \'作者:money
    \'Email:2258773@163.com
    \'涵數(shù)功能:拷屏,保存為BMP文件
    \'成功返回真
    \'