选择分类:当前分类——当前分类
本站推荐:
几句代码实现控制摄像头(转)
文章长度[1765] 加入时间[2007/5/20] 更新时间[2025/2/1 20:46:28] 级别[0] [评论] [收藏]
几句代码实现控制摄像头(转)
2007年03月28日 星期三 21:44


[推荐]几句代码实现控制摄像头,有摄像头的进哦

网上有很多控制摄像头的源程序,但都比较复杂,其实如果只是简单的打开关闭摄像头,完全用不着那么多代码,只用几句就可以实现,以下是代码和源程序.
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal lpszWindowName As String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hwndParent As Long, ByVal nID As Long) As Long
Private Const GET_FRAME As Long = 1084
Private Const COPY As Long = 1054
Private Const CONNECT As Long = 1034
Private Const DISCONNECT As Long = 1035
Private CapHwnd As Long

Private Sub Command1_Click()
'打开摄像头
CapHwnd = capCreateCaptureWindow("WebcamCapture", 0, 0, 0, 640, 480, Me.hwnd, 0)
DoEvents
SendMessage CapHwnd, CONNECT, 0, 0
Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
'停止摄像头
DoEvents

SendMessage CapHwnd, DISCONNECT, 0, 0
Timer1.Enabled = False
End Sub

Private Sub Command3_Click()
'截图
SavePicture Picture1.Image, App.Path & "\\Image" & Date$ & " " & Int(Timer) & ".bmp"
End Sub

Private Sub Timer1_Timer()       

'timer1.Interval=50
On Error Resume Next
SendMessage CapHwnd, GET_FRAME, 0, 0
SendMessage CapHwnd, COPY, 0, 0
Picture1.Picture = Clipboard.GetData
Clipboard.Clear
End Sub


1、 本站不保证以上观点正确,就算是本站原创作品,本站也不保证内容正确。
2、如果您拥有本文版权,并且不想在本站转载,请书面通知本站立即删除并且向您公开道歉! 以上可能是本站收集或者转载的文章,本站可能没有文章中的元件或产品,如果您需要类似的商品请 点这里查看商品列表!