如何检测是否有连接到PC的网络摄像头?

时间:2009-10-19 14:54:40

标签: winapi vb6

我有通过网络摄像头拍照的源代码,但我需要知道是否有连接到PC的网络摄像头。如果没有网络摄像头,程序将无法调用拍照功能。如果有必要,我需要知道在这种情况下我必须使用哪个窗口的Api。

语言:使用Windows Apis的Visual Basic 6。

2 个答案:

答案 0 :(得分:2)

WIA的问题在于并非所有设备都兼容。但我自己找到了解决方案: SendMessage和capCreateCaptureWindowA一起工作。如果没有摄像头,SendMessage将返回“0”。这是代码:

mCapHwnd = capCreateCaptureWindowA("WebCap", 0, 0, 0, m_Width, m_Height, Me.hwnd, 0)
DoEvents
If SendMessage(mCapHwnd, WM_CAP_CONNECT, 0, 0) <> 0 Then
Call SendMessage(mCapHwnd, WM_CAP_CONNECT, 0, 0)
DoEvents
Call SendMessage(mCapHwnd, WM_CAP_SET_PREVIEW, 0, 0)
Else
MsgBox "No Camera Detected"
End If

我希望有人能发现这个有用:)

答案 1 :(得分:1)

如果您在网站上工作,我认为有一个Flash应用程序。否则,您可能需要查看Windows Image Acquisition API。