下面是一個VB抓屏保存為文件的源文件,很不錯的,有精力的可以參考一下。
保存在標(biāo)準模塊
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文件
\'成功返回真
\'
保存在標(biāo)準模塊
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文件
\'成功返回真
\'