title: Saving a picture from a webcam displayed video in a PictureBox in VB6
body: <p>I have used a code from the internet to show my webcam in a certain form, however, i dont know how to capture an image and save it automatically to my local disk drive via command button click. would anyone help me ASAP :))
  here is my code for the form.</p>
  
  <pre><code>    Option Explicit
  Const ws_visible = &amp;H10000000
  Const ws_child = &amp;H40000000
  Const WM_USER = 1024
  Const WM_CAP_EDIT_COPY = WM_USER + 30
  Const wm_cap_driver_connect = WM_USER + 10
  Const wm_cap_set_preview = WM_USER + 50
  Const wm_cap_set_overlay = WM_USER + 51
  Const WM_CAP_SET_PREVIEWRATE = WM_USER + 52
  Const WM_CAP_SEQUENCE = WM_USER + 62
  Const WM_CAP_SINGLE_FRAME_OPEN = WM_USER + 70
  Const WM_CAP_SINGLE_FRAME_CLOSE = WM_USER + 71
  Const WM_CAP_SINGLE_FRAME = WM_USER + 72
  Const DRV_USER = &amp;H4000
  Const DVM_DIALOG = DRV_USER + 100
  Const PREVIEWRATE = 30
  Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal a As String, ByVal b As Long, ByVal c As Integer, ByVal d As Integer, ByVal e As Integer, ByVal f As Integer, ByVal g As Long, ByVal h As Integer) As Long
  
  Dim hwndc As Long
  Dim saveflag As Integer
  Dim pictureindex As Integer
  Dim filter1(-1 To 1, -1 To 1) As Single
  Dim filter2(-1 To 1, -1 To 1) As Single
  Dim temp As String
  
  Private Sub Command2_Click()
  Unload Me
  Main.Show
  End Sub
  
  Private Sub Form_Load()
  On Error GoTo handler:
  hwndc = capCreateCaptureWindow("CaptureWindow", ws_child Or ws_visible, 0, 0,     Pichwnd.Width, Pichwnd.Height, Pichwnd.hWnd, 0)
  If (hwndc &lt;&gt; 0) Then
      temp = SendMessage(hwndc, wm_cap_driver_connect, 0, 0)
      temp = SendMessage(hwndc, wm_cap_set_preview, 1, 0)
      temp = SendMessage(hwndc, WM_CAP_SET_PREVIEWRATE, PREVIEWRATE, 0)
  
      temp = SendMessage(Me.hWnd, WM_CAP_EDIT_COPY, 1, 0)
      Picture1.Picture = Clipboard.GetData
  Else
      MsgBox "Unable to capture video.", vbCritical
  End If
  Exit Sub
  handler:
  End
  End Sub
  Private Sub Form_Initialize()
  If Me.WindowState &lt;&gt; vbMaximized Then
      Me.WindowState = vbMaximized
  Else
      Me.WindowState = vbNormal
  End If
  End Sub
  </code></pre>
  
  <p>my code might be too long but i just learned some vb6 via tutorials as i need to make a GUI to my Grad project. Finally thanks for help</p>