请问:C# WinForm程序、
有没有什么有效的方法来判断本机是否装了摄像头设备
不要是判断有无avicap32.dll哦 我发现没装摄像头设备的机里也是有avicap32.dll这个文件的
 请教是否有可行的方法,包括能判断现在很流行的免驱动摄像头。
如果是用查看windows设备管理来判断的,请详示获取了诸多设备后如果判断哪个是摄像头设备呢
 谢谢了 

解决方案 »

  1.   

    try this:
    http://www.codeproject.com/KB/directx/directxcapture.aspx
    Some of the features of this library: List and select hardware devices 
    Access to common audio and video settings (e.g. frame rate, size) 
    Support audio and video compression codecs 
    Support video preview 
    Support TV tuners 
    Support crossbars and audio mixers 
    Retrieve device capabilities 
    Show property pages exposed by drivers 
    MSDN-style documentation included 
      

  2.   

    DirectShow里面应该提供相应的判断方法吧,你查找一下
      

  3.   

    DirectShow里有的,枚举下设备就可以了。
      

  4.   

    安装摄像头后,一般可以找到一个avicap32.dll文件
    判断这个应该就行了
      

  5.   

    avicap32.dll这文件在那里啊
    请明确说明 谢谢!!!!!!
      

  6.   

    不要判断文件是否存在。就算撞了驱动,摄像头也可能没接。
    你可以用枚举视频采集设备的做法,不过DirectShow在托管代码里调用比较麻烦,建议使用WIA的脚本接口。WIA底层也是使用DirectShow的。
      

  7.   

    C#的产生就是没有操作硬件的,有个麻烦的互操作调用Dll,不如用C++
    C#发展10年了,要走下坡路了.........
      

  8.   

    用WIA吧
    using WIALib;
    参考:
    http://www.codeproject.com/KB/dotnet/wiascriptingdotnet.aspx