é simples capturar uma imagem da web cam, veja este exemplo:
coloque uma picture box, um command button em seu projeto e cole o seguinte
para coisas simples, este código a seguir funciona perfeito:
'(((( COLOQUE UMA PICTURE BOX NO SEU FORM ))))))
'(((( COLOQUE UM BOTÃO COMMAND1 NO SEU FORM )))))
'DECLARACOES
Private 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
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function ReleaseCapture Lib "USER32" () As Long
Private Const WM_CAP_DRIVER_CONNECT As Long = 1034
Private Const WM_CAP_DRIVER_DISCONNECT As Long = 1035
Private Const WM_CAP_GRAB_FRAME As Long = 1084
Private Const WM_CAP_EDIT_COPY As Long = 1054
Private Const WM_CAP_DLG_VIDEOFORMAT As Long = 1065
Private Const WM_CAP_DLG_VIDEOSOURCE As Long = 1066
Private Const WM_CLOSE = &H10
Private mCapHwnd As Long
Private Sub Form_Load()
'Inicia a câmera
mCapHwnd = capCreateCaptureWindow("My Own Capture Window", 0, 0, 0, 320, 240, Me.hwnd, 0)
SendMessage mCapHwnd, WM_CAP_DRIVER_CONNECT, 0, 0
End Sub
Private Sub Form_Terminate()
'Desliga a câmera
SendMessage mCapHwnd, WM_CAP_DRIVER_DISCONNECT, 0, 0
End Sub
Private Sub Command1_Click()
'Captura a imagem atual (PODERIA SER COLCOADO NUM TIMER PARA IMAGEM CONTINUA)
Clipboard.Clear
SendMessage mCapHwnd, WM_CAP_GRAB_FRAME, 0, 0
SendMessage mCapHwnd, WM_CAP_EDIT_COPY, 0, 0
Picture1.Picture = Clipboard.GetData
End Sub
até este ponto belez, você irá jogar a imagem no picturebox, depois para salvar é simples basta acrescentar mais uma command button e colocar o seguinte código
veja que simples
Private Sub Command2_Click()
SavePicture Picture1.Image, "c: este.jpg"
End Sub
e pronto já está salva no hd