Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 29
  1. #11
    Non fa nulla, nn dà errori, nn funziona e sulla picturebox l'immagine nn compare.

  2. #12
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    L'errore che avevi era determinato dalla Declare sbagliata. E su questo non c'è dubbio.

    Adesso la chiamata funziona ma il codice potrebbe essere sbagliato. Ad esempio non si vede come ottieni l'handle (hWnd) e quindi non si può rispondere ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #13
    Ecco il codice intero :
    codice:
    Imports System.Runtime.InteropServices
    Imports System.Runtime
    Public Class Form1
    
        Dim WM_CAP_START As Integer = &H400S
        Dim WS_CHILD As Integer = &H40000000
        Dim WS_VISIBLE As Integer = &H10000000
    
        Dim WM_CAP_DRIVER_CONNECT As Integer = WM_CAP_START + 10
        Dim WM_CAP_DRIVER_DISCONNECT As Integer = WM_CAP_START + 11
        Dim WM_CAP_EDIT_COPY As Integer = WM_CAP_START + 30
        Dim WM_CAP_SEQUENCE As Integer = WM_CAP_START + 62
        Dim WM_CAP_FILE_SAVEAS As Integer = WM_CAP_START + 23
    
        Dim WM_CAP_SET_SCALE As Integer = WM_CAP_START + 53
        Dim WM_CAP_SET_PREVIEWRATE As Integer = WM_CAP_START + 52
        Dim WM_CAP_SET_PREVIEW As Integer = WM_CAP_START + 50
    
        Dim SWP_NOMOVE As Integer = &H2S
        Dim SWP_NOSIZE As Integer = 1
        Dim SWP_NOZORDER As Integer = &H4S
        Dim HWND_BOTTOM As Integer = 1
    
        '--dichiariamo la funzione utile al get di periferiche HW--
        Declare Function capGetDriverDescriptionA Lib "avicap32.dll" _
        (ByVal wDriverIndex As Short, _
        ByVal lpszName As String, ByVal cbName As Integer, _
        ByVal lpszVer As String, _
        ByVal cbVer As Integer) As Boolean
    
        '--Funzione per la cattura dell'immagine--
        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 hWnd As Integer, _
        ByVal nID As Integer) As Integer
    
        'SendMessage
        Declare Function SendMessage Lib "user32.dll" (ByVal hWnd As Integer, ByVal Msg As Integer, ByVal wParam As Integer, ByVal lParam As Object) As Integer
        
    
        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
    
        
        Declare Function DestroyWindow Lib "user32" _
        (ByVal hndw As Integer) As Boolean
    
    
        Dim VideoSource As Integer
        Dim hWnd As Integer
    
        Private Sub InterrompiPreview()
            SendMessage(hWnd, WM_CAP_DRIVER_DISCONNECT, VideoSource, 0)
            DestroyWindow(hWnd)
        End Sub
    
        Private Sub VideoPreview()
            hWnd = capCreateCaptureWindowA(VideoSource, WS_VISIBLE Or WS_CHILD, 0, 0, 0, _
            0, PictureBox1.Handle.ToInt32, 0)
    
        End Sub
    
    
        Private Sub driver_disponibili()
            Dim NomeDriver As String = Space(80)
            Dim VersioneDriver As String = Space(80)
            For i As Integer = 0 To 9
                If capGetDriverDescriptionA(i, NomeDriver, 80, VersioneDriver, 80) Then
                    ListBox1.Items.Add(NomeDriver.Trim)
                    Button1.Enabled = False
                    Button3.Enabled = True
                    Button4.Enabled = True
                End If
            Next
        End Sub
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            driver_disponibili()
    
        End Sub
    
        
        Private Sub CaptureImage()
            Dim data As IDataObject
            Dim bmap As Image
    
            'copiamo l'immagine nella clipboard---
            SendMessage(hWnd, WM_CAP_EDIT_COPY, 0, 0)
            'convertiamo il tutto in bmp
            data = Clipboard.GetDataObject()
            If data.GetDataPresent(GetType(System.Drawing.Bitmap)) Then
                bmap = CType(data.GetData(GetType(System.Drawing.Bitmap)),  _
                       Image)
                PictureBox1.Image = bmap
    
            End If
        End Sub
    
        Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
            VideoPreview()
        End Sub
    
        
    
        End Sub
    End Class

  4. #14
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non so come tu abbia scritto (o dove tu abbia trovato) quel codice (fra l'altro dovresti inviarlo con i tag CODE per leggerlo meglio), ma in questa pagina

    http://www.thaiio.com/prog-cgi/vbnetwebcam.html

    c'è un esempio completo per VB.NET ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #15
    Da sempre lo stesso errore in quel pezzo di codice(per me molto comprensibile)....

  6. #16
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da andreaaization
    Da sempre lo stesso errore
    Lo "stesso" ... ma quale ? E a cosa ti riferisci ?

    Perché rispondi con mezza frase invece di dire bene quello che succede ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #17
    Va be, il problema è sempre quello in senso che dà problema allo stack di chiamate alla funzione "SendMessage", mi sembrava ovvio visto che stiamo parlando solo di questo..

  8. #18
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da andreaaization
    Va be, il problema è sempre quello in senso che dà problema allo stack di chiamate alla funzione "SendMessage", mi sembrava ovvio visto che stiamo parlando solo di questo..
    No, perché nell'ultimo tuo messaggio avevi scritto

    Non fa nulla, nn dà errori, nn funziona e sulla picturebox l'immagine nn compare.

    Hai quindi provato con la dichiarazione della SendMessage che ti ho mostrato?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #19
    Si, da l'errore dello stack chiamate(il solito).

  10. #20
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536
    Originariamente inviato da andreaaization
    Si, da l'errore dello stack chiamate(il solito).
    Ciao,
    la classe che hai postato da sola non fa nulla (non è un form, è solo una classe che si chiama Form1...), ovviamente la istanzi/chiami/usi i metodi da altre parti... prova a postare il resto del codice, in particolare dove utilizzi la classe.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.