1、用capCreateCaptureWindow()创建的窗口以及内存如何回收?
就像CMyWnd *pWnd = new CMyWnd,如果只是DestroyWindow(pWnd->m_hWnd),那么只是回收了窗口句柄本身相关的内存,new出来的部分依然还在。而capCreateCaptureWindow()返回的就是一个HWND,单DestroyWindow(),我想应该还有内存没有回收干净吧?应该用什么函数回收它。
2、capDriveConnect()在指定的摄像头已经被其他程序占用的情况下,会弹出一个叫做“视频源”的窗口供用户选择其他设备。如何禁止弹出这个窗口,直接让capDriveConnect()函数失败就可以了。
3、capCatureAbort()和capDriverDisconnect()两个函数如果写在程序退出的地方,就要Sleep()一段时间(似乎至少500ms),否则会导致程序退出不了。Sleep()的时间应该是让vfw自己的子线程退出用的,有的时候500ms甚至都不够用,有没有可以绝对确保可以成功退出的方法?望前辈指教!!!

解决方案 »

  1.   

    开例子吧http://www.cnblogs.com/paopao/archive/2006/04/05/367675.html
      

  2.   

    1.纯粹是与VFW无关问题。
    建议还是用DirectShow.
      

  3.   

    To CathySun118(斯年),这类例子看过好几个了,没有上面3(发帖的时候想问2个问题,写着写着又多出一个问题,标题还是忘了改了-_-b)个问题的答案。To DentistryDoctor:
    估计用vfw.h里面的那几个函数是不可能解决那三个问题了吧?这几天在研究DirectShow,感觉DirectShow还是挺复杂的,可能会遇到不少问题。这帖再留段时间吧……
      

  4.   

    已经成功用DirectShow播放摄像头并截得一张bmp图片,接下来的应该没什么大问题了。先结帖吧!