Hasta donde yo sé no es posible enviar mensajes de un proceso a otro en Windows. Eso se conoce como "saltar la barrera del proceso" y si se pudiera hacer de forma sencilla resultaría un enorme y engorroso fallo de seguridad (imagina un ActiveX instalado en el Internet Explorer que forzara al programador de tareas mediante envío de mensajes inter-proceso el crear una tarea para formatear el disco duro durante el siguiente arranque. A esto mismo se lo conoce como "escalada de privilegios a través del bucle de mensajes").
Eso no quiere decir que no se pueda hacer, sólo quiere decir que es bastante complejo de hacer. Jeffrey Ritcher en sus libros sobre programación de sistemas para Win32 lo explica; la última versión publicada se llama "Windows via C/C++", que tento pendiente de leer y que sólo está de momento en inglés y que por eso no sé si sigue contándolo o no. Todos los anteriores están descatalogados y hay alguna traducción al castellano también descatalogada.
El tema está en lo que se conoce como "Inyectar una DLL en otro proceso" y basícamente se trata de eso: crear una DLL que se inyecta en otro proceso y que al estar en ese otro proceso ya es capaz de enviar localmente los mensajes adecuados.
El tema es un poco *complicadillo*, pero seguro que en San Google encuentras por dónde empezar si buscas "DLL process injection" o similar.
Una vez que sepas cómo y qué hacer, si tienes dudas puntuales quizás podamos ayudarte...