VidCap: Full-Featured Video Capture Application

Click to open or copy the files for the Vidcap sample.

This sample is a full-featured video capture application.  VidCap is a data-capture application that lets you capture video sequences onto your computer system. With VidCap, you can capture individual images or entire video sequences from a VCR, a videodisc player, or a video camera and microphone. VidCap focuses on data collection; the VidEdit application, also included with Video for Windows, supports functions such as editing, compression, and formatting.

This sample includes an HLP (Help) file.

VidCap uses the following source files:

File Description
Arrow.c Arrow control window.
Dialogs.c Dialog box processing.
Help.c Help system interface.  Supports F1 key help in the application and in dialog boxes by installing a hook, keeping track of which dialog box is currently displayed.
Profile.c Stores profile information in the Registry.  Win32/win16 utility functions to read and write profile items for multimedia tools.
Rlmeter.c Audio recording level window.  This window class acts as a VU Meter showing the current and peak volume. Set the volume via the WMRL_SETLEVEL message (lParam is the new level). The control tracks the peak level by means of a 2-second timer.
Status.c Status bar window.
Toolbar.c Toolbar control window.
Vidcap.c WinMain and command processing.
Vidframe.c Frame for the capture window. Window class that provides a frame for the AVICAP window in the VidCap capture tool. Responsible for positioning within the parent window, handling scrolling and painting a size border if there is room.

Building SDK Samples

This sample uses the following keywords:

_close; _fmemset; _fstrncpy; _fstrrchr; _lseek; _open; aboutproc; acmformatchoose; acmmetrics; addmcidevicenames; alloc_text; alloccapfileproc; arrowcontrolproc; arroweditchange; arrowinit; arrowtimerproc; atof; atoi; atol; audioformatproc; beginpaint; bitblt; callnexthookex; capcapturegetsetup; capcapturesequence; capcapturesetsetup; capcapturesingleframe; capcapturesingleframeclose; capcapturesingleframeopen; capcreatecapturewindow; capdlgvideocompression; capdlgvideodisplay; capdlgvideoformat; capdlgvideosource; capdriverconnect; capdrivergetcaps; capeditcopy; capfilealloc; capfilegetcapturefile; capfilesaveas; capfilesavedib; capfilesetcapturefile; capframesproc; capgetaudioformat; capgetdriverdescription; capgetstatus; capgetvideoformat; capgetvideoformatsize; capgrabframenostop; capoverlay; cappaletteopen; cappalettepaste; cappalettesave; cappreview; cappreviewrate; capsetaudioformat; capsetcallbackonerror; capsetcallbackonstatus; capsetcallbackonyield; capsetmcidevicename; capsetscrollpos; capsetupproc; checkdlgbutton; checkmenuitem; checkradiobutton; clienttoscreen; closestream; cmdloadpalette; cmdsavedib; cmdsavepalette; cmdsavevideoas; cmdsetcapturefile; copymemory; copyrect; countmcidevices; createcompatibledc; createfont; createpen; createsolidbrush; createwindow; createwindowex; defhookproc; defwindowproc; deletedc; deleteobject; destroywindow; dialogbox; dialogboxparam; dispatchmessage; dodialog; drawmenubar; enablemenuitem; enablewindow; enddialog; endpaint; errorcallbackproc; exttextout; fillrect; findresource; fntext; fps_to_ms; freeprocinstance; freeresource; get_wm_command_cmd; get_wm_command_hwnd; get_wm_command_id; get_wm_command_mps; get_wm_ctlcolor_hdc; get_wm_ctlcolor_hwnd; get_wm_hscroll_code; get_wm_hscroll_pos; get_wm_menuselect_cmd; get_wm_menuselect_flags; get_wm_menuselect_hmenu; get_wm_vscroll_code; get_wm_vscroll_pos; getarraybutt; getasynckeystate; getbmphandle; getbmpint; getbuttonsize; getbvalue; getcapture; getclientrect; getcurrentthreadid; getdc; getdiskfreespace; getdlgctrlid; getdlgitem; getdlgitemint; getdlgitemtext; getfocus; getfreediskspaceinkb; getfullpathname; getgvalue; gethinst; getkeypressed; getkeystate; getmenu; getmenuitemcount; getmessage; getmessagepos; getmodulefilename; getnumbuttons; getopenfilename; getparent; getpressed; getprivateprofileint; getprivateprofilestring; getrvalue; getsavefilename; getscrollpos; getscrollrange; getshifted; getstockobject; getsubmenu; getsyscolor; getsystemmetrics; gettextmetrics; getwhich; getwindowinstance; getwindowlong; getwindowplacement; getwindowrect; getwindowtext; getwindowuint; getwindowword; globalalloc; globalallocptr; globalfree; globalfreeptr; globalhandle; globallock; globalrealloc; globalsize; globalunlock; gwid; helpcontents; helpinit; helpmsghook; helpshutdown; initmenupopup; intersectrect; invalidaterect; invertarrow; invertrect; ischaralpha; ischaralphanumeric; isclipboardformatavailable; isdigit; isdlgbuttonchecked; isdriverindex; ishelpkey; iswindowenabled; killtimer; limitrange; lineto; loadaccelerators; loadcursor; loadicon; loadresource; loadstring; loaduibitmap; localalloc; localfree; lockresource; long2point; lstrcat; lstrcmp; lstrcpy; lstrlen; mainwndproc; makeintresource; makelong; makepaletteproc; makeprocinstance; mapwindowpoints; max; mcideviceclose; mcisendcommand; mcisendstring; mcisetupproc; menuproc; menuselect; messagebeep; messagebox; messageboxid; microsectostringrate; millisecvararroweditchange; min; mmgetprofilebinary; mmgetprofileflag; mmgetprofileint; mmgetprofilestring; mmwriteprofilebinary; mmwriteprofileflag; mmwriteprofileint; mmwriteprofilestring; movetoex; movewindow; nohardwaredlgproc; notifyparent; offsetrect; openfile; openstream; painttext; patblt; peekmessage; polygon; postmessage; postquitmessage; prefsdlgproc; ptinrect; rectheight; rectwidth; regclosekey; regcreatekey; registerclass; regopenkey; regqueryvalueex; regsetvalueex; releasecapture; releasedc; rgb; rgbq; rlmeter_register; rlmeterproc; screentoclient; scrollmsg; selectobject; senddlgitemmessage; sendmessage; sendscroll; setarraybutt; setbkcolor; setbkmode; setbmphandle; setbmpint; setbrushorg; setbuttonsize; setcapture; setclasslong; setclassword; setcurrenthelpcontext; setcursor; setdlgitemint; setdlgitemtext; setfocus; sethinst; setkeypressed; setmapmode; setnumbuttons; setpressed; setrect; setscrollpos; setscrollrange; setshifted; settextcolor; settimer; setviewportextex; setviewportorgex; setwhich; setwindowextex; setwindowlong; setwindoworgex; setwindowpos; setwindowshook; setwindowshookex; setwindowtext; setwindowuint; setwindowword; shellabout; showlevelproc; showwindow; smartwindowposition; sprintf; statuscallbackproc; statuscreatetools; statusdeletetools; statusgetheight; statusinit; statusupdatestatus; statuswndproc; strchr; streamdata; stringratetomicrosec; strrchr; switch; text; tmpstring; toolbaractivityfrombutton; toolbaraddtool; toolbarbuttonfromindex; toolbarcommand; toolbarexclusiveradio; toolbarfixfocus; toolbarfullstatefrombutton; toolbargetnumbuttons; toolbarindexfrombutton; toolbarindexfrompoint; toolbarinit; toolbarmodifyactivity; toolbarmodifyprevstate; toolbarmodifystate; toolbarmodifystring; toolbarmovefocus; toolbarpaintcontrol; toolbarprevstatefrombutton; toolbarrectfromindex; toolbarremovetool; toolbarretrievetool; toolbarsetbitmap; toolbarsetfocus; toolbarstatefrombutton; toolbarstringfromindex; toolbartypefromindex; toolbarwndproc; translateaccelerator; translatemessage; unhookwindowshook; unhookwindowshookex; unlockresource; unrealizeobject; updatewindow; upordown; validaterect; vidcapcreatewindows; vidcapenumeratedrivers; vidcapinithardware; vidcaplayout; vidcapreadprofile; vidcapreadsettingsprofile; vidcapregisterclasses; vidcapsetcapturefile; vidcapsetlive; vidcapsetoverlay; vidcapwriteprofile; vidcapwritesettingsprofile; vidframecreate; vidframecreatetools; vidframedeletetools; vidframehscroll; vidframelayout; vidframepaint; vidframeproc; vidframesetbrush; vidframevscroll; waveinaddbuffer; waveinclose; waveinopen; waveinprepareheader; waveinreset; waveinstart; waveinstop; waveinunprepareheader; winexec; winhelp; winmain; writeprivateprofilestring; wsprintf; yieldcallbackproc