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 capCreateCaptureWindow Lib "avicap32.dll" 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 Constant declarations for WEBCAM Interface ///////////// '////////////////////////////////////////////////////////////////////// Const WM_CAP As Integer = &H400 Public Const WM_CAP_DRIVER_CONNECT As Long = WM_CAP + 10 Public Const WM_CAP_DRIVER_DISCONNECT As Long = WM_CAP + 11 Public Const WM_CAP_EDIT_COPY As Long = WM_CAP + 30 Public Const WM_CAP_SET_PREVIEW As Long = WM_CAP + 50 Public Const WM_CAP_SET_PREVIEWRATE As Long = WM_CAP + 52 Public Const WM_CAP_SET_SCALE As Long = WM_CAP + 53 Public Const WS_CHILD As Long = &H40000000 Public Const WS_VISIBLE As Long = &H10000000 Public Const SWP_NOMOVE As Long = &H2 Public Const SWP_NOSIZE As Integer = 1 Public iDevice As Long ' Current device ID Public hHwnd As Long ' Handle to preview window 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 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 Public Declare Function DestroyWindow Lib "user32" (ByVal hndw As Long) As Boolean Public Declare Function capCreateCaptureWindowA Lib "avicap32.dll" (ByVal lpszWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Integer, ByVal hWndParent As Long, ByVal nID As Long) As Long Public Declare Function capGetDriverDescriptionA Lib "avicap32.dll" (ByVal wDriver As Long, ByVal lpszName As String, ByVal cbName As Long, ByVal lpszVer As String, ByVal cbVer As Long) As Boolean '///////////////////////////////////////////////////////////////////// '///////////////////////////////////////////////////////////////////////////// '/////////--------View Continuous Image --------------------// ' hHwnd = capCreateCaptureWindowA(iDevice, &H10000000 Or &H40000000, 0, 0, 640, 480, picture1.hwnd, 0) ' ' ' Connect to device ' If SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, iDevice, 0) Then ' ' 'Set the preview scale ' SendMessage hHwnd, WM_CAP_SET_SCALE, True, 0 ' ' 'Set the preview rate in milliseconds ' SendMessage hHwnd, WM_CAP_SET_PREVIEWRATE, 66, 0 ' ' 'Start previewing the image from the camera ' SendMessage hHwnd, WM_CAP_SET_PREVIEW, True, 0 ' ' ' Resize window to fit in picturebox ' 'SetWindowPos hHwnd, HWND_BOTTOM, 0, 0, picCapture.ScaleWidth, picCapture.ScaleHeight, SWP_NOMOVE Or SWP_NOZORDER ' ' 'cmdSave.Enabled = True ' 'cmdStop.Enabled = True ' 'cmdStart.Enabled = False ' ' End If '///////////////////////////////////////////////////////////////////////////// Public Sub ClosePreviewWindow() ' Disconnect from device SendMessage hHwnd, WM_CAP_DRIVER_DISCONNECT, iDevice, 0 'Picture1.Visible = False ' close window DestroyWindow hHwnd End Sub Public Sub OpenPreviewWindow() ' Open Preview window in picturebox 'Picture1.Visible = True hHwnd = capCreateCaptureWindowA(iDevice, WS_VISIBLE Or WS_CHILD, 0, 0, 640, 480, frmAllClear.Picture1.hwnd, 0) ' Connect to device If SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, iDevice, 0) Then 'Set the preview scale SendMessage hHwnd, WM_CAP_SET_SCALE, True, 0 'Set the preview rate in milliseconds SendMessage hHwnd, WM_CAP_SET_PREVIEWRATE, 66, 0 'Start previewing the image from the camera SendMessage hHwnd, WM_CAP_SET_PREVIEW, True, 0 ' Resize window to fit in picturebox 'SetWindowPos hHwnd, HWND_BOTTOM, 0, 0, picCapture.ScaleWidth, picCapture.ScaleHeight, SWP_NOMOVE Or SWP_NOZORDER ' cmdSave.Enabled = True ' cmdStop.Enabled = True ' cmdStart.Enabled = False 'Image1.Refresh 'Image1.Picture = picCapture.Image ' Image1.Picture = picCapture.Refresh Else ' Error connecting to device close window DestroyWindow hHwnd 'Picture1.Visible = False ' cmdSave.Enabled = False End If End Sub '/////////////////////////////////////////// '//---Function for webcam initialization--// '/////////////////////////////////////////// Public Sub init_Webcam() On Error Resume Next If Clipboard.GetFormat(1) = True Then Bclipboard = Clipboard.GetText '320;;240 mCapHwnd = capCreateCaptureWindow("Webcam", 1, 50, 50, 320, 240, Picture1.hwnd, 0) DoEvents: SendMessage mCapHwnd, 1034, 0, 0 Clipboard.CLEAR End Sub '////////////////////////////////////////////// '//---Function for webcam snapshot capture---// '////////////////////////////////////////////// Public Sub Webcam() Dim i, j As Integer Dim path_save As String Dim Temp(0 To 9) As Integer Dim TempUnit As String Dim TempDate As String Dim TempTime As String Dim TmpStr As String Dim Error_No As Integer Error_No = 1 On Error GoTo Error_Handler Clipboard.CLEAR Clipboard.CLEAR SendMessage mCapHwnd, WM_CAP_DRIVER_CONNECT, 0, 0 ' SendMessage mCapHwnd, WM_CAP_EDIT_COPY, 0, 0 SendMessage hHwnd, WM_CAP_EDIT_COPY, 0, 0 ClosePreviewWindow Error_No = 2 On Error GoTo Error_Handler ' ' picture1.Visible = True 'Picture1.AutoRedraw = False 'Picture1.AutoSize = True Picture1.Refresh Picture1.Refresh Picture1.Picture = Clipboard.GetData Error_No = 3 On Error GoTo Error_Handler Picture1.Picture = Clipboard.GetData Error_No = 4 On Error GoTo Error_Handler Picture2.Picture = Picture1.Picture 'Conta_Image.Image1.Picture = Picture1.Picture 'ClosePreviewWindow ' picture1.Visible = False '//%%^^SVS JAN 6th ' Clipboard.Clear If Clipboard.GetFormat(1) = True Then Bclipboard = Clipboard.GetText '320;;240 ' ' SendMessage mCapHwnd, WM_CAP_DRIVER_CONNECT, 0, 0 ' SendMessage mCapHwnd, WM_CAP_EDIT_COPY, 0, 0 'For i = 0 To 200 ' picture1.Picture = Clipboard.GetData ' picture1.Picture = Clipboard.GetData ' picture1.Picture = Clipboard.GetData ' picture1.Picture = Clipboard.GetData ' picture1.Picture = Clipboard.GetData ' Next '//%%^^ SVS JAN 6th Picture2.ForeColor = &HFF00& Picture2.FontSize = 15 Picture2.CurrentX = 1 '(Picture2.ScaleWidth - TextWidth(Date & " " & Time)) - 10000 '- 30 Picture2.CurrentY = 6500 '(Picture2.ScaleHeight - TextHeight(Date & " " & Time)) - 500 '- 30 Picture2.Print ("Serial No:" & SrNo & "-" & Date & "-" & Time) Picture2.CurrentX = 1 Picture2.CurrentY = 240 Picture2.ForeColor = &HFF00& Picture2.FontSize = 15 Picture2.Print ("WebCam test") Conta_Image.Image1.Picture = Picture2.Image path_save = App.Path & (SrNo) & ".bmp" SavePicture Conta_Image.Image1.Picture, path_save Error_No = 5 On Error GoTo Error_Handler OpenPreviewWindow Exit Sub Error_Handler: MsgBox "Error no: " & Error_No & " Occured" ' Exit Sub ' picture1.AutoRedraw = False ' Picture1.AutoSize = False 'Picture1.AutoRedraw = False ' Picture1.Visible = True ' SendMessage mCapHwnd, WM_CAP_DRIVER_DISCONNECT, 0, 0 '//SVS JAN 6th End Sub