Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

vb.net webcamzugriff problem

Frage Entwicklung Visual Studio

Mitglied: 60734

60734 (Level 1)

24.11.2009, aktualisiert 15:30 Uhr, 2582 Aufrufe

Hallo Leute!

Habe mir heute Mittag aus einem Codebeispiel, wie man ne Webcam in vb.net ansteuert ne Klasse draus gebastelt, sieht jetzt so aus:

01.
Public Class Webcam 
02.
    Const WM_CAP As Short = &H400S 
03.
    Const WM_CAP_DRIVER_CONNECT As Integer = WM_CAP + 10 
04.
    Const WM_CAP_DRIVER_DISCONNECT As Integer = WM_CAP + 11 
05.
    Const WM_CAP_EDIT_COPY As Integer = WM_CAP + 30 
06.
    Const WM_CAP_SET_PREVIEW As Integer = WM_CAP + 50 
07.
    Const WM_CAP_SET_PREVIEWRATE As Integer = WM_CAP + 52 
08.
    Const WM_CAP_SET_SCALE As Integer = WM_CAP + 53 
09.
    Const WS_CHILD As Integer = &H40000000 
10.
    Const WS_VISIBLE As Integer = &H10000000 
11.
    Const SWP_NOMOVE As Short = &H2S 
12.
    Const SWP_NOSIZE As Short = 1 
13.
    Const SWP_NOZORDER As Short = &H4S 
14.
    Const HWND_BOTTOM As Short = 1 
15.
    Dim iDevice As Integer = 0 
16.
    Dim hHwnd As Integer  
17.
 
18.
    Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Object) As Integer 
19.
    Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Integer, ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer 
20.
    Declare Function DestroyWindow Lib "user32" (ByVal hndw As Integer) As Boolean 
21.
    Declare Function capCreateCaptureWindowA Lib "avicap32.dll" (ByVal lpszWindowName As String, ByVal dwStyle As Integer, ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Short, ByVal hWndParent As Integer, ByVal nID As Integer) As Integer 
22.
    Declare Function capGetDriverDescriptionA Lib "avicap32.dll" (ByVal wDriver As Short, ByVal lpszName As String, ByVal cbName As Integer, ByVal lpszVer As String, ByVal cbVer As Integer) As Boolean 
23.
 
24.
 
25.
    Function OpenPreviewWindow(ByVal fenster As Object, ByVal previewrate As Integer, ByVal width As Integer, ByVal height As Integer) 
26.
 
27.
        hHwnd = capCreateCaptureWindowA("webcam", WS_VISIBLE Or WS_CHILD, 0, 0, width, height, fenster.Handle.ToInt32, 0) 
28.
        If SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, 0, 0) Then 
29.
            SendMessage(hHwnd, WM_CAP_SET_SCALE, True, 0) 
30.
            SendMessage(hHwnd, WM_CAP_SET_PREVIEWRATE, previewrate, 0) 
31.
            SendMessage(hHwnd, WM_CAP_SET_PREVIEW, True, 0) 
32.
            SetWindowPos(hHwnd, HWND_BOTTOM, 0, 0, width, height, SWP_NOMOVE Or SWP_NOZORDER) 
33.
        Else 
34.
            DestroyWindow(hHwnd) 
35.
        End If 
36.
    End Function 
37.
    Function ClosePreviewWindow() 
38.
        SendMessage(hHwnd, WM_CAP_DRIVER_DISCONNECT, iDevice, 0) 
39.
        DestroyWindow(hHwnd) 
40.
    End Function 
41.
 
42.
    Private Sub preview_save(ByVal filename As String) 
43.
        Dim data As IDataObject 
44.
        Dim bmap As Image 
45.
        SendMessage(hHwnd, WM_CAP_EDIT_COPY, 0, 0) 
46.
        data = Clipboard.GetDataObject() 
47.
        If data.GetDataPresent(GetType(System.Drawing.Bitmap)) Then 
48.
            bmap = CType(data.GetData(GetType(System.Drawing.Bitmap)), Image) 
49.
            bmap.Save(filename, Imaging.ImageFormat.Jpeg) 
50.
        End If 
51.
    End Sub 
52.
 
53.
End Class
Um die webcam dann zu starten mache ich es wie folgt:
01.
Dim webcamxy as new webcam()
Und dann z.B.

01.
Private Sub abc () Handles Button.Click 
02.
webcamxy.openPreviewWindow(PictureBox1, 50, 320, 240) 
03.
End Sub

Leider wird mir jedes mal, sobald ich ich dann die Webcam starten will, dieses blöde Fenster angezeigt !!! http://www.abload.de/img/bildx8rh.jpg

Wie kriege ich das weg, sodass mir das Bild der Webcam direkt in der PictureBox angezeigt wird, ohne erst dieses Zwischenfenster, gerade wenn's nur eine!!!! webcam gibt.???

Gruss Markus
Ähnliche Inhalte
Visual Studio
VB.Net - Problem mit Umleitung der Standard-Ausgabe
gelöst Frage von emeriksVisual Studio4 Kommentare

Hi, habe eine Consolen-Anwendung in VB.Net, welche nichts anderes tut, als in der Console "Hallo Welt!" auszugeben. Habe weiterhin ...

Visual Studio
Variablen in VB.NET
gelöst Frage von MarcoBornVisual Studio4 Kommentare

Hallo Forum, in VB.NET gibt es ja die Möglichkeit, Variablen global oder lokal zu definieren. Zusätzlich können Variablen auch ...

Visual Studio
Automatische Treiberinstallation mit VB.NET
gelöst Frage von joehuabaVisual Studio3 Kommentare

Hallo Zusammen, Folgende Problemstellung: 1. Ich habe einen Rechner per Hand neu installiert, da fehlen einige Treiber 2. Ich ...

Visual Studio
Netzwerkdrucker installieren, vb.net
gelöst Frage von Tealk144Visual Studio

Hallo Leute, also nach langem Tüfteln habe ich jetzt einen Funktionierenden Drucker installationscode, den ich gerne mit euch teilen ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 3 StundenInternet3 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 10 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 21 StundenWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 23 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless16 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...