none
retorno de informações via WM_COPYDATA RRS feed

  • Pergunta

  • Pessoal,

    Preciso me comunicar com um software que retorna informações via WM_COPYDATA .
    Alguém teria um exemplo fácil de como ler este retorno ?

    A aplicação estou chamando assim : 

      Dim NewProcess As New System.Diagnostics.Process()
            With NewProcess.StartInfo
                .FileName = Path_app
                .Arguments = argumentos.ToString
                .RedirectStandardOutput = True
                .RedirectStandardError = True
                .RedirectStandardInput = True
                .UseShellExecute = False
                .WindowStyle = ProcessWindowStyle.Normal
                .CreateNoWindow = False
            End With

    Agradeço ajuda !

    sábado, 17 de janeiro de 2015 01:57

Respostas

  • Mr. Gmsoft..

    Não cheguei a testar por este meio pois Consegui fazer com outro código.

    Segue código se alguém precisar 
        Private Const WM_COPYDATA As Short = &H4AS
    
     Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
    
            If m.Msg = WM_COPYDATA Then
                MessageBox.Show("retornou")
                'GetPropValues(m.LParam)
            End If
            MyBase.WndProc(m)
    
        End Sub

    Na verdade este código foi só o inicio.. Se alguém precisar dele completo basta me pedir.
    O problema todo era na verdade no nome da classe que tinha que passar pro outro programa.

    Descobri uma função que retorna algo como nomedoform.nomedaclasse.naoseioque.blablabla e é isso que precisava ser passado pra outra aplicação.
    Não estou no meu PC agora mas se alguém precisar me informe que publico com prazer.

    Agradeço imensamente pela ajuda prestada !

    • Sugerido como Resposta Mr. GMSOFT quarta-feira, 18 de fevereiro de 2015 00:19
    • Marcado como Resposta Rafael Metring segunda-feira, 29 de junho de 2015 14:18
    terça-feira, 17 de fevereiro de 2015 22:27

Todas as Respostas

  • Dá uma olhada nessa Thread
    • Editado Mr. GMSOFT segunda-feira, 19 de janeiro de 2015 14:18
    segunda-feira, 19 de janeiro de 2015 14:16
  • Chegou a testar a solução informada, caso tenha resolvido não esquece de fechar sua Thread
    terça-feira, 17 de fevereiro de 2015 13:02
  • Mr. Gmsoft..

    Não cheguei a testar por este meio pois Consegui fazer com outro código.

    Segue código se alguém precisar 
        Private Const WM_COPYDATA As Short = &H4AS
    
     Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
    
            If m.Msg = WM_COPYDATA Then
                MessageBox.Show("retornou")
                'GetPropValues(m.LParam)
            End If
            MyBase.WndProc(m)
    
        End Sub

    Na verdade este código foi só o inicio.. Se alguém precisar dele completo basta me pedir.
    O problema todo era na verdade no nome da classe que tinha que passar pro outro programa.

    Descobri uma função que retorna algo como nomedoform.nomedaclasse.naoseioque.blablabla e é isso que precisava ser passado pra outra aplicação.
    Não estou no meu PC agora mas se alguém precisar me informe que publico com prazer.

    Agradeço imensamente pela ajuda prestada !

    • Sugerido como Resposta Mr. GMSOFT quarta-feira, 18 de fevereiro de 2015 00:19
    • Marcado como Resposta Rafael Metring segunda-feira, 29 de junho de 2015 14:18
    terça-feira, 17 de fevereiro de 2015 22:27
  • Caso tenha conseguido a solução finalize sua Thread marcando a resposta

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    domingo, 28 de junho de 2015 14:28