查看: 37  |  回复: 0
  VB6 代码管家-启动摄像头
楼主
发表于 2024年12月8日 21:53
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 Form_Load()         '打开摄像头
	Timer1.Interval = 50
	CapHwnd = capCreateCaptureWindow("WebcamCapture", 0, 0, 0, 640, 480, Me.hwnd, 0)
	DoEvents
	SendMessage CapHwnd, CONNECT, 0, 0
	Timer1.Enabled = True
End Sub

Private Sub Command1_Click()    '停止摄像头
	DoEvents
	SendMessage CapHwnd, DISCONNECT, 0, 0
	Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
	On Error Resume Next
	SendMessage CapHwnd, GET_FRAME, 0, 0
	SendMessage CapHwnd, COPY, 0, 0
	Image1.Picture = Clipboard.GetData
	Clipboard.Clear
End Sub


您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2024 MaNongKu.com