¿Cómo pasar eventos de mouse a aplicaciones detrás de la mía en C # / Vista?

Estoy escribiendo una aplicación muy especializada en C # que flota como una ventana mayoritariamente transparente en todo el escritorio. Quiero poder crear y pasar eventos del mouse a aplicaciones detrás de la mía, y hacer que parezcan funcionar "normalmente", respondiendo a esos eventos. También sería preferible si el administrador de ventanas pudiera responder.

No soy un gurú de Windows, y no estoy seguro de cómo lograrlo mejor.

Desde esta página:http://bytes.com/forum/thread270002.html

parecería que mouse_event sería bueno, excepto que como mi aplicación está flotando sobre todo lo demás, supongo que mis eventos generados nunca llegarán a las otras aplicaciones que se encuentran debajo.

Parece que la alternativa es SendMessage, pero eso requiere una buena cantidad de manipulación manual de Windows, y los eventos del mouse generados no son "auténticos".

¿Alguna idea sobre la mejor manera de abordar esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta