Usuário com melhor resposta
retorno de informações via WM_COPYDATA

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 !
Respostas
-
Mr. Gmsoft..
Não cheguei a testar por este meio pois Consegui fazer com outro código.
Segue código se alguém precisarPrivate 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 Glauber Marcelino da Silva (MrGmsoft) quarta-feira, 18 de fevereiro de 2015 00:19
- Marcado como Resposta Rafael Metring segunda-feira, 29 de junho de 2015 14:18
Todas as Respostas
-
Dá uma olhada nessa Thread
- Editado Glauber Marcelino da Silva (MrGmsoft) segunda-feira, 19 de janeiro de 2015 14:18
-
-
Mr. Gmsoft..
Não cheguei a testar por este meio pois Consegui fazer com outro código.
Segue código se alguém precisarPrivate 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 Glauber Marcelino da Silva (MrGmsoft) quarta-feira, 18 de fevereiro de 2015 00:19
- Marcado como Resposta Rafael Metring segunda-feira, 29 de junho de 2015 14:18
-