7,785
社区成员




Private Sub Command1_Click()
SendMessage ctCapWin, WM_CAP_Sequence, 0, 0 '开始录像,录像未结束前不会返回
End Sub
Private Sub Command2_Click()
Image9.Visible = False
Image2.Visible = True
Dim nStyle As Long, T As Long
If ctCapWin = 0 Then '创建一个视频窗口,大小:640*480
T = Me.ScaleY(200, Me.ScaleMode, 3) '视频窗口垂直位置:像素
'nStyle = WS_Child + WS_Visible + WS_Caption + WS_ThickFrame '子窗口(在Form1内)+可见+标题栏+边框
'nStyle = WS_Child + WS_Visible '视频窗口无标题栏和边框
nStyle = WS_Visible '视频窗口为独立窗口,关闭主窗口视频窗口也会自动关闭
ctCapWin = capCreateCaptureWindow("视频监视中", nStyle, 0, T, 640, 480, Me.hWnd, 0)
End If
'将视频窗口连接到摄像头,如无后面两条语句视频窗口画面不会变化
SendMessage ctCapWin, WM_CAP_Connect, 0, 0 '连接摄像头
SendMessage ctCapWin, WM_CAP_Set_PreView, 1, 0 '第三个参数:1-预览模式有效,0-预览模式无效
SendMessage ctCapWin, WM_CAP_Set_PreViewRate, 30, 0 '第三个参数:设置预览显示频率为每秒 30 帧
End Sub
Private Sub MSComm1_OnComm()
Dim i As Integer
Dim c As String
Dim S As Integer
Dim N As Integer
Dim H As Integer
On Error GoTo Err
With MSComm1
Select Case MSComm1.CommEvent
Case comEvReceive
'MSComm1.RThreshold = 0
revbuf = MSComm1.Input
For i = 1 To Len(revbuf)
c = Mid(revbuf, i, 1)
TextReceive.Text = TextReceive.Text & c '输出显示
Next i
If Mid(revbuf, 1, 1) = "S" Then '对接收字符串是否符合要求作判断,本句拟增加接收字符串长做判断.
Image2.Visible = False
Image9.Visible = True
Label1.Caption = Mid(revbuf, 2, 3)
Label2.Caption = Mid(revbuf, 6, 3)
End If
If Mid(revbuf, 1, 1) = "H" Then '对接收字符串是否符合要求作判断,本句拟增加接收字符串长做判断.
Label3.Caption = Mid(revbuf, 2, 2)
End If
Call jieshou
'MSComm1.RThreshold = 1
End Select
End With
revbuf = ""
Err:
End Sub
Public Function jieshou()
Dim data(1) As Byte
Dim nStyle As Long, T As Long
Select Case revbuf
Case "count=1;"
If ctCapWin = 0 Then '创建一个视频窗口,大小:640*480
T = Me.ScaleY(200, Me.ScaleMode, 3) '视频窗口垂直位置:像素
'nStyle = WS_Child + WS_Visible + WS_Caption + WS_ThickFrame '子窗口(在Form1内)+可见+标题栏+边框
'nStyle = WS_Child + WS_Visible '视频窗口无标题栏和边框
nStyle = WS_Visible '视频窗口为独立窗口,关闭主窗口视频窗口也会自动关闭
ctCapWin = capCreateCaptureWindow("视频监视中", nStyle, 0, T, 640, 480, Me.hWnd, 0)
End If
'将视频窗口连接到摄像头,如无后面两条语句视频窗口画面不会变化
SendMessage ctCapWin, WM_CAP_Connect, 0, 0 '连接摄像头
SendMessage ctCapWin, WM_CAP_Set_PreView, 1, 0 '第三个参数:1-预览模式有效,0-预览模式无效
SendMessage ctCapWin, WM_CAP_Set_PreViewRate, 30, 0 '第三个参数:设置预览显示频率为每秒 30 帧
SendMessage ctCapWin, WM_CAP_Sequence, 0, 0 '开始录像,录像未结束前不会返回
Case "count=0;"
SendMessage ctCapWin, WM_CAP_Stop, 0, 0 '终止视频捕获
SendMessage ctCapWin, WM_CAP_DisConnect, 0, 0 '断开摄像头连接
SendMessage ctCapWin, WM_CLOSE, 0, 0 '关闭指定窗体标题的窗体
ctCapWin = 0
Case Else
End Select
End Function