VC6下通过DirectShow调用摄像头

    首先,我们下载一下DirectX的SDK开发包,目前我们可以使用的是DirectX 9.0 SDK(Summer 2004)之后的版本DirectShow已经被分离出去了。下载之后安装,安装前最好把IDE都给关了,免得路径没有添加进去。

    然后我们开始设计阶段:

    我们先通过MFC AppWizard(exe)建立一个MFC的基本对话框,去除默认的两个按钮和文本,然后我们添加一个图像控件、一个组合框、一个按钮,然后设置属性,详情如下:


 

 


 

 
然后,我们通过类向导添加成员变量,详情如下:
 

 

接下来,我们双击Test按钮,进入代码编写。

    首先,我们把摄像头的两个文件加到项目路径下,然后再在文件视图里面添加这两个文件进项目。


 

    然后,我们给窗口类的头文件里面添加引用

    接着,给窗口类添加一个私有的成员变量

    然后再在窗口初始化的时候,初始化设备列表

    然后在按键的时候初始化摄像头就是的


    我的设计环境为Windows 7 SP1 、 Visual C++ 6.0 SP6 ,借鉴的别人的程序,如果有其他问题,欢迎一起讨论。
    源代码点击下载
   



    关于出现以下错误的解决方案

    在项目的StdAfx.cpp里面加上

    编译一次就好了,之后注释掉就好了。