I was asked whether it is possible to capture a webcam's output in Windows Forms 2.0 so I did a bit researching. First I thought I would have to do this in DirectX but then I found some API calls for VB6 and translated them to VB .NET 2. In fact it is very easy to capture the output. You simply need a Control and it's handle. I chose a PictureBox named PictureBox1 to do so. You have to define the Win32 API calls first. We will need two API functions SendMessage and capCreateCaptureWindow . Private Declare Auto Function SendMessage Lib "user32" (ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer Const EM_LINEFROMCHAR As Integer = &HC9 Const EM_LINEINDEX As Integer = &HBB Private Declare Auto Function capCreateCaptureWindow Lib "avicap32.dll" (ByVal lpszWindowName As String, ByVal dwStyle As Integer, ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Inte