const
WM_CAP_DRIVER_CONNECT = WM_USER + 10;
WM_CAP_EDIT_COPY = WM_USER + 30;
WM_CAP_SET_PREVIEW = WM_USER + 50;
WM_CAP_SET_OVERLAY = WM_USER + 51;
WM_CAP_SET_PREVIEWRATE = WM_USER + 52;
function capCreateCaptureWindow(lpszWindowName: LPCSTR;
dwStyle: DWORD;
x, y,
nWidth,
nHeight: integer;
hwndParent: HWND;
nID: integer): HWND; stdcall;
external 'AVICAP32.DLL' name 'capCreateCaptureWindowA';
procedure TForm1.Button1Click(Sender: TObject);
var
handle:THandle;
Video_Width, Video_Height: Integer;
begin
Video_Width := 320;
Video_Height := 240;
Panel1.Width := Video_Width;
Panel1.Height := Video_Height;
handle := capCreateCaptureWindow('Video',ws_child + ws_visible, 0,
0, Video_Width, Video_Height, Panel1.Handle, 1);
SendMessage(
handle, WM_CAP_DRIVER_CONNECT, 0, 0);
SendMessage(
handle, WM_CAP_SET_PREVIEWRATE, 30, 0);
sendMessage(
handle, WM_CAP_SET_OVERLAY, 1, 0);
SendMessage(
handle, wm_cap_set_preview, 1, 0);
end;