Si una aplicación no no puede interactuar de forma legítima con otro proceso (Sockets, Remote Object, etc...) cuando ese debería ser su proposito en este caso, entonces está mal desarrollada.
Tu pregunta trata sobre un software que no ha sido desarrollado para la interacción entre procesos, y eso complica las cosas,
la función sendmessage (enviando el message
WM_GETTEXT) es algo que se inventó en el siglo pasado cuando las aplicaciones todavía no eran capaces de estar aisladas unas de las otras (cuando el término "isolation" no existía aún en lo referente a la programación de Software), pero en este siglo se debería evitar el uso de la WinAPI para hacer estas cosas, la verdad, al menos NO en caso de que los dos proyectos sean de tu propiedad y eso signifique que puedas editar los proyectos, entonces deberías escuchar la primera sugerencia de @KuBox para buscar otras soluciones.
De todas formas si te empeñas en hacerlo usando la WinAPI (que tampoco es que sea algo malo, pero según se mire es una mala práctica), puedes empezar por buscar y escribir en tu código las declaraciones de todas estas funciones e informarte sobre el uso de ellas, así como el uso de los métodos de Marshal que te pondré al final que también te pueden servir como alternativa, y cuando lo tengas todo listo, ya podremos seguir hablando sobre el tema:
·
FindWindowEx function·
WindowFromPoint function·
GetClassName function·
EnumChildWindows function·
SendMessage function·
WM_GETTEXT message·
WM_GETTEXTLENGTH message·
Marshal.AllocHGlobal Method·
Marshal.PtrToStringUni MethodNota: Ten en cuenta que a cada Control de una aplicación se le asigna un Handle, pero además la zona vacía para escribir en ese Control segúramente tendrá otro Handle distinto.
Nota 2:
Lo he intentado, pero no he conseguido nada..
Al menos yo, al hablar sobre la WinAPI, mientras no muestres un código con tu progreso me limitaré solamente a ofrecerte información.