¿Cómo podría capturar la entrada del teclado y escribirla en un archivo?

No pude encontrar ningún artículo que me ayudara. Quiero hacer una aplicación (consola, winforms, wpf, realmente no es importante) que se ejecute en segundo plano (tenerla en inicio o algo así) y escribe en un archivo cada tecla que se presiona (en cualquier cuadro de texto o cosas así). Por ejemplo, la computadora se inicia y abro IE y escribo en la barra de direcciones www.bla.com, luego abro la aplicación pokerstars y escribo algo en la información de inicio de sesión o en los cuadros de texto; y en cualquier momento que abro el archivo de texto, encuentro en él lo que se ha escrito hasta entonces.

¿Puede por favor sugerir ac # enfoque para esto? (Estoy usando Windows 7 si eso es importante) gracias

Espero que lo desees con fines legales y válidos.

Lo que quieres crear es un gancho de teclado. Mira esto:

http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx

Saludos cordiales, y no seas malvado.

Lo que quieres escribir es un registrador de claves.

Busque KeyboardHook y encontrará artículos como este:

en c # o en c

Lo que estás buscando se llama keylogger. Hay muchos ejemplos en la web de cómo escribir uno.

Podría crear un formulario de WinForms y establecer la propiedad KeyPreview en true, de esa manera ‘interceptará’ todas las pulsaciones de teclas, incluso la que no se envía a su aplicación. También puedes ir nativo y usar ganchos .

Pero usualmente el keylogging está mal visto. ¿Qué está tratando de lograr?