Ir para conteúdo
Entre para seguir isso  
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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

×

Informação importante

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