2009-10-19 145 views
1

我有通過網絡攝像頭拍照的源代碼,但我需要知道是否有網絡攝像頭連接到PC。如果沒有攝像頭,程序將不會調用拍照功能。如果有必要,我需要知道在這種情況下我必須使用哪個窗口的Api。如何檢測是否有網絡攝像頭連接到PC?

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

+0

什麼是「對拍照功能的」使用拍照?它使用哪個API? – 2009-10-19 15:08:59

+0

我使用了這兩個Apis:SendMessage和capCreateCaptureWindowA。對於「拍照」,我的意思是從網絡攝像頭捕捉幀。 – 2009-10-19 15:28:26

回答

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

我想有一個Flash應用程序,如果你在網站上工作。否則,您可能需要查看Windows圖像採集API。

+0

不,它是一個桌面應用程序。我已經看到了閃存的代碼,但我需要它的VB6。不是整個算法,只是可以檢測攝像頭的Api。 – 2009-10-19 15:11:11

+0

然後看看WIA api。 – Jeff 2009-10-19 15:33:24

相關問題