'capture window function
Public Const WS_CHILD = &H40000000
Public Const WS_VISIBLE = &H10000000
Public Const MAXVIDDRIVERS = 10
Public Declare Function capCreateCaptureWindow Lib "avicap32" Alias "capCreateCaptureWindowA" (ByVal lpszWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hwndParent As Long, ByVal nID As Long) As Long
Public Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long
'capture window messages
Public Const WM_USER = &H400
'// Following added post VFW 1.1
'Public Const WM_CAP_SET_CALLBACK_CAPCONTROL = (WM_CAP_START + 85)
Public Const WM_PAINT = &HF
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
'Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
'Public Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
Public Const SWP_NOZORDER = &H4
Public Const SWP_NOMOVE = &H2
Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
'video buffer struct
Type VIDEOHDR
lpData As Long '; /* pointer to locked data buffer */
dwBufferLength As Long '; /* Length of data buffer */
dwBytesUsed As Long ' /* Bytes actually used */
dwTimeCaptured As Long ' /* Milliseconds from start of stream */
dwUser As Long ' /* for client's use */
dwFlags As Long ' /* assorted flags (see defines) */
dwReserved(3) As Long '/* reserved for driver */
End Type
......
代码部分:
Private Sub UserControl_Initialize()
If glpLocalBuf Then Err.Raise 47