Carlos
no creo ser el mas indicado para darte una buena solucion, pero te doy mi SOLUCION.
yo genero un programa lo compilo como dll y lo incluyo en com+, con esto tengo un servicio.
para saber si esta activo trato de instanciar el objeto con CREATEOBJECTEX(cCLSID | cPROGID, cComputerName [, cIID])
desde la aplicacion.
si esto te parece que te sirve decime y te cuento algo mas, aca en UTMag hay muchos y muy buenos articulos sobre como hacer esto. (escritos por gente mucho mas capaz )
articulo maestro : 'El servidor del pobre' por Martin Salias, ya un clasico!
saludos
Luis Petek
Developer