PostMessage

03/02/2005 - 00:22 por Larry M. | Informe spam
Hola,

Tengo dos aplicaciones. Una de ellas hace PostMessage a una ventana de la
otra. En el último parámetro mando un puntero a una estructura. Estoy
reservando la memoria con new y con GlobalAlloc y no llega a la otra
aplicación. ¿Cómo puedo hacer para que llegue a la otra aplicación?

Gracias

Preguntas similare

Leer las respuestas

#1 Rodrigo Corral [MVP]
03/02/2005 - 12:09 | Informe spam
Tienes varias opciones para comunicar procesos entre si. La más parecida a
lo que estas intentando, que en ningún caso te funcionará, seria usar file
mapping. Lo que intentas no funcionara por que en windows cada proceso tiene
su propio espacio de memoria.

http://msdn.microsoft.com/library/d...ations.asp

Solo a modos de comentario, dudo que a nivel arquitectonico tengas bien
planteada la solución, por que rara vez hay que acudir a protocolos de tan
bajo nivel, casi siempre es una mejor solución usar COM o RPC o incluso
pipes...


Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org
Respuesta Responder a este mensaje
#2 Lars
03/02/2005 - 21:55 | Informe spam
Hola,

has probado con WM_COPYDATA.




"Rodrigo Corral [MVP]" escribió en el mensaje
news:
Tienes varias opciones para comunicar procesos entre si. La más parecida a
lo que estas intentando, que en ningún caso te funcionará, seria usar file
mapping. Lo que intentas no funcionara por que en windows cada proceso


tiene
su propio espacio de memoria.




http://msdn.microsoft.com/library/d...ations.asp

Solo a modos de comentario, dudo que a nivel arquitectonico tengas bien
planteada la solución, por que rara vez hay que acudir a protocolos de tan
bajo nivel, casi siempre es una mejor solución usar COM o RPC o incluso
pipes...


Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org


Respuesta Responder a este mensaje
#3 Rodrigo Corral [MVP]
04/02/2005 - 09:28 | Informe spam
No creo que le sirva...

De la documentación de WM_COPYDATA
The data being passed must not contain pointers or other references to
objects not accessible to the application receiving the data.

While this message is being sent, the referenced data must not be changed by
another thread of the sending process.

The receiving application should consider the data read-only. The lParam
parameter is valid only during the processing of the message.


Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida