vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Webcam 
Autor: Frank1
Datum: 16.02.03 15:05

Hallo... Christian 
'Hier ein kleines Lösungsbeispiel : Zugriff auf eine WebCam oder ähnlichem. 
' Teil 3/n
'Hinweis  : Getestet mit einer LogiTech WebCam am USB Port.
'
'(c) NG.: 16.02.03.do.
'
'Durch den Aufruf der Funktion <capCreateCaptureWindow> wird ein Fenster 
' realisiert
'indem der Videotreiber eine Vorschau darstellt.
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 WS_CHILD = &H40000000
Private Const WS_VISIBLE = &H10000000
 
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 Const WM_USER = &H400
Private Const WM_CAP_START = WM_USER
Private Const WM_CAP_DRIVER_CONNECT = (WM_CAP_START + 10)
Private Const WM_CAP_SET_PREVIEWRATE = (WM_CAP_START + 52)
Private Const WM_CAP_SET_OVERLAY = (WM_CAP_START + 51)
Private Const WM_CAP_SET_PREVIEW = (WM_CAP_START + 50)
 
Private Const WM_CAP_DRIVER_DISCONNECT = (WM_CAP_START + 11)
 
Private Enum PosSize
    mLeft = 0
    mTop = 0
    mWidth = 320
    mHeight = 240
End Enum
 
Private mhwnd As Long
 
Private Sub Command1_Click()
    GetPreviewSequence Picture1.hwnd
End Sub
 
Private Sub Command3_Click()
    If mhwnd <> 0 Then
        Command1.Enabled = True
        lRet = SendMessage(mhwnd, WM_CAP_DRIVER_DISCONNECT, 0, 0)
        Debug.Print lRet
        Command3.Enabled = False
    End If
End Sub
 
Private Sub GetPreviewSequence(ByVal Outhwnd As Long)
    Dim hwnd As Long
    Dim lRet As Long
 
    hwnd = capCreateCaptureWindow("Video", WS_CHILD + WS_VISIBLE, _
                                           PosSize.mLeft, _
                                           PosSize.mTop, _
                                           PosSize.mWidth, _
                                           PosSize.mHeight, _
                                           Outhwnd, 1)
    Debug.Print hwnd
    mhwnd = hwnd
    If hwnd <> 0 Then
        Command1.Enabled = False
        Command3.Enabled = True
        Call SendMessage(hwnd, WM_CAP_DRIVER_CONNECT, 0, 0)
        Call SendMessage(hwnd, WM_CAP_SET_PREVIEWRATE, 30, 0)
        Call SendMessage(hwnd, WM_CAP_SET_OVERLAY, 1, 0)
        Call SendMessage(hwnd, WM_CAP_SET_PREVIEW, 1, 0)
    Else
        Debug.Print "Fehler bei der Initialisierung des Previewfensters..."
        Exit Sub
    End If
End Sub
 
Private Sub Command2_Click()
    Unload Me
End Sub
 
Private Sub Form_Load()
    With Picture1
        .ScaleMode = 3
    End With
    Command3.Enabled = False
End Sub
 
'MfG
'Frank
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Webcam674Christian Bulczak02.02.03 11:41
Re: Webcam449tomaa16.02.03 12:28
Re: Webcam447Christian Bulczak16.02.03 12:29
Re: Webcam453tomaa16.02.03 12:33
Re: Webcam479tomaa16.02.03 12:37
Re: Webcam269Frank116.02.03 15:05
Re: Webcam455georg-3011.08.03 09:22

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel