Captura y envía entrada de teclado / mouse en C #

Estoy buscando una forma de enviar y recibir información del teclado, independientemente de la aplicación que se enfoca. Recuerdo que en College volví a ver una presentación sobre una antigua API de Windows que te permite cambiar la posición del cursor y enviar clics con el botón derecho y demás.

Además de User32.dll, ¿hay una manera de hacer esto con el framework .net?

Respuestas a la pregunta(2)

Su respuesta a la pregunta