Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 2537 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
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Visual Studio
gelöst VB.Net - Problem mit Umleitung der Standard-Ausgabe (4)

Frage von emeriks zum Thema Visual Studio ...

Visual Studio
gelöst Vb.net Pfadangabe mit Wildcards wie Stern Regex Pattern (2)

Frage von Pilger83 zum Thema Visual Studio ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...