Que tal amigo,
Yo pensaría en algo sencillito, usaría un socket en cada aplicación para enviarla si es que ya existe una instancia corriendo del programa en cuestión, la otra pues es la que a mi me da algo de problema, con los mensajes del API, pero eso se lo dejo a mis buenos amigos
"API-ceros" que todos ya conocemos
Saludos