Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Roberto Paes

Thread !

Recommended Posts

Boa tarde galera do fórum, tudo bem ??

 

seguinte: Estou desenvolvendo uma aplicação no visual basic 2010 express.. mas houve um problema. Ela precisa se comunicar com meu arduino ( um micro controlador..). Vamos ao que realmente interessa, o problema.

 

 

 

Função que chama o user32.dll e envia o comando para o computador..

  <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
    End Function

Esse é o comando que ele deve realizar dentro da serial port data received( esse comando diminuiu o volume do computador, chamando o uso do user32.dll )

 SendMessage(Me.Handle, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_DOWN * &H10000)

Código que está com erro:

  Private Sub SerialPort1_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived


        Dim textoDaPorta As String

        textodaPorta = SerialPort1.ReadLine
        RichTextBox1.Invoke(Sub() RichTextBox1.Text += textoDaPorta & Environment.NewLine)
        If textoDaPorta = 3877748955 Then


            Label3.Invoke(Sub() Label3.Text = textoDaPorta)
            SendMessage.invoke(Sub() SendMessage(Me.Handle, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_UP * &H10000))
        End If



        If textoDaPorta = 2721879231 Then


            Label3.Invoke(Sub() Label3.Text = textoDaPorta)

        End If


    End Sub

Erro que o visual basic reporta:

Error	1	Argument not specified for parameter 'hWnd' of 'Private Shared Function SendMessage(hWnd As System.IntPtr, Msg As UInteger, wParam As System.IntPtr, lParam As System.IntPtr) As System.IntPtr'.	C:\Users\rober_000\documents\visual studio 2010\Projects\volumearduino\volumearduino\Form1.vb	78	13	volumearduino



Error	2	Argument not specified for parameter 'lParam' of 'Private Shared Function SendMessage(hWnd As System.IntPtr, Msg As UInteger, wParam As System.IntPtr, lParam As System.IntPtr) As System.IntPtr'.	C:\Users\rober_000\documents\visual studio 2010\Projects\volumearduino\volumearduino\Form1.vb	78	13	volumearduino


Error	3	Argument not specified for parameter 'Msg' of 'Private Shared Function SendMessage(hWnd As System.IntPtr, Msg As UInteger, wParam As System.IntPtr, lParam As System.IntPtr) As System.IntPtr'.	C:\Users\rober_000\documents\visual studio 2010\Projects\volumearduino\volumearduino\Form1.vb	78	13	volumearduino

Error	4	Argument not specified for parameter 'wParam' of 'Private Shared Function SendMessage(hWnd As System.IntPtr, Msg As UInteger, wParam As System.IntPtr, lParam As System.IntPtr) As System.IntPtr'.	C:\Users\rober_000\documents\visual studio 2010\Projects\volumearduino\volumearduino\Form1.vb	78	13	volumearduino


Erro que aparece sem o uso do invoke :

 

||

Cross-thread operation not valid: Control 'Form1' accessed from a thread other than the thread it was created on.Usando   SendMessage(Me.Handle, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_DOWN * &H10000)

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.