//----------------------------------------------------------------------------- void IdmCaptureSource (void) { if (!gDriverCaps.fHasDlgVideoSource) Err("The camera driver does not support this command"); else if (capDlgVideoSource(hgCapWnd)) capGetStatus(hgCapWnd, &gCapStatus, sizeof(CAPSTATUS)); }
void CWinVideoGrabber::VideoSourceDialog() { if (!inited) return; CAPDRIVERCAPS CapDrvCaps; capDriverGetCaps(videowindow, &CapDrvCaps, sizeof (CAPDRIVERCAPS)); if (CapDrvCaps.fHasDlgVideoSource) capDlgVideoSource(videowindow); }
BOOL capWebCam(char *szFile, int nIndex, int nX, int nY, int nMsg) { HWND hWndCap = capCreateCaptureWindow(NULL, WS_CHILD , 0, 0, nX, nY, GetDesktopWindow(), 0); if(!hWndCap) return FALSE; capDlgVideoSource(hWndCap); SetWindowLong(hWndCap,GWL_EXSTYLE,GetWindowLong(hWndCap,GWL_EXSTYLE)); ShowWindow(hWndCap,TRUE); capSendMessage(hWndCap, WM_CAP_DRIVER_DISCONNECT, 0, 0); capSendMessage(hWndCap, WM_CAP_DRIVER_CONNECT, 0, 0); capSendMessage(hWndCap, WM_CAP_SET_SCALE, TRUE, 0); capSendMessage(hWndCap, WM_CAP_SET_PREVIEWRATE, 1, 0); capSendMessage(hWndCap, WM_CAP_SET_PREVIEW, TRUE, 0); capSendMessage(hWndCap, WM_CAP_GRAB_FRAME_NOSTOP, 0, 0); capSendMessage(hWndCap, WM_CAP_FILE_SAVEDIB, 0, szFile); DestroyWindow(hWndCap); return TRUE; }