Red de conocimiento informático - Espacio del host - Función API de captura de pantalla

Función API de captura de pantalla

He escrito un software de captura de pantalla VB que puede personalizar un rectángulo para capturar un área específica. Si lo necesita, dígame su correo electrónico y le enviaré el código fuente.

API principal:

Const pública PM_REMOVE = &H1

' Información relacionada con el mouse

Const pública WM_MOUSEFIRST = &H200

Const pública WM_ MOUSELAST = &H209

Const pública WM_RBUTTONDOWN = &H204

Const pública WM_LBUTTONDOWN = &H201

Const pública WM_ RBUTTONUP = &H205

Const pública WM_LBUTTONUP = &H202

Const pública WM_MOUSEMOVE = &H200

' Constante de función BitBlt

Const pública SRCCOPY = & ;HCC0020

p>

Const pública SRCINVERT = &H660046

' Constante de función PatBlt

Const pública DINV = 3

Const pública DSTINVERT = &H550009

Escriba RECT

Izquierda todo el tiempo

Arriba mientras tanto

Derecha todo el tiempo

Abajo Tan Largo

Tipo de Fin

TipoPOINTAPI

x Tan Largo

y Tan Largo

Tipo de Fin

Tamaño de letra

cx tan largo

cy tan largo

Tipo final

Escriba mensaje

hwnd As Long

mensaje As Long

wParam As Long

lParam As Long

tiempo As Long

pt As POINTAPI

Tipo final

' Funciones de Windows sobre mensajes

Declarar función PeekMessage Lib "user32" alias "PeekMessageA" _

(lpMsg As msg、ByVal hwnd As Long, _

ByVal wMsgFilterMin As Long, _

ByVal wMsgFilterMax As Long, _

ByVal wRemoveMsg As Long _

)Mientras dure

Declarar la función WaitMessage Lib "user32" () Mientras dure

Declarar la función TranslateMessage Lib "user32" (lpMsg como msj) Mientras dure

Declarar Función DispatchMessageLib "usuario32" Alias ​​​​"DispatchMessageA" _

(lpMsg Como mensaje) Siempre

Declarar Func

tion PostMessage Lib "user32" Alias ​​​​"PostMessageA" _

( ByVal hwnd As Long, _

ByVal wMsg As Long, _

ByVal wParam As Long, _

ByVal lParam As Long _

)As Long

'Función de captura del mouse

Declarar función SetCapture Lib "user32" (ByVal hwnd As Long) As Long

Declarar la función ReleaseCapture Lib "user32" () As Long

Declarar la función GetCapture Lib "user32" () As Long

Declarar la función DeleteDC Lib "gdi32" (ByVal hdc As Long) el tiempo

Declarar la función DeleteObject Lib "gdi32" _

(ByVal hObject As Long) el tiempo

p>

Declarar función GetTextExtentPoint32 Lib "gdi32" Alias ​​​​" GetTextExtentPoint32A" _

(ByVal hdc As Long, _

ByVal lpszString As String, _

ByVal cbString As Long, _

lpSize As Size _

)As Long

Declarar función IsRectEmpty Lib "user32" (lpRect As RECT) As Long

Declarar Función PatBlt Lib "gdi32" _

(ByVal hdc As Long, _

ByVal x As Long, ByVal y As Long, _

ByVal nWidth Mientras, _

ByVal nHeight Mientras, _

ByVal dwRop Mientras _

)As Long

Declarar Función Rectángulo Lib "gdi32" _

(ByVal hdc Mientras, _

ByVal X1 Mientras, ByVal Y1 Mientras, _

ByVal X2 Mientras, _

ByVal Y2 Mientras _

)As Long

Declarar función ScreenToClient Lib "user32" _

(ByVal hwnd Mientras, _

lpPoint Como POINTAPI _

) Mientras

Declarar función SelectObject Lib "gdi32" _

(ByVal hdc As Long, _

ByVal hObject As Long _

) As Long

Declarar función TextOut Lib "

gdi32" Alias ​​​​"TextOutA" _

(ByVal hdc As Long, _

ByVal x As Long, ByVal y As Long, _

ByVal lpString Como cadena, _

ByVal nCount As Long _

) As Long

(ByVal hdc As Long, _

ByVal x As Long, ByVal y As Long, _

ByVal lpString As String, _

ByVal nCount As Long _

) As Long