2012-04-30 13 views
10

Przede wszystkim muszę wyjaśnić, że nie interesuje mnie keylogging.Monitorowanie aktywności klawiatury w języku C#, podczas gdy moja aplikacja jest w tle.

Potrzebuję sposobu, aby monitorować aktywność klawiatury na najbardziej podstawowym poziomie, podczas gdy moja aplikacja jest w tle. Nie muszę wiedzieć, które klucze, nie muszę zapisywać żadnych danych, nie potrzebuję ani nie planuję w ogóle ukrywać aplikacji, potrzebuję tylko wiedzieć, kiedy klawisze są wciśnięte i wywołać metodę.

Szukam najprostszy sposób, aby to zrobić możliwe, znam rozsądną ilość C#, ale nic zbyt skomplikowane, jak większość mojej wiedzy jest samoukiem.

Rozejrzałem się za odpowiednimi sposobami zrobienia tego i nie znalazłem nic przydatnego. Wszystko, co udało mi się znaleźć, to grono ludzi mówiących "Nie, to jest nielegalne" na forach i kod źródłowy dla dogłębnych keyloggerów.

Jeśli ktokolwiek z was mógłby doradzić mi w drodze do osiągnięcia tego, byłbym bardzo wdzięczny.

Odpowiedz

2

Firma Microsoft mówi: How to: Handle Keyboard Input at the Form Level. Tak długo, jak obsługujesz to samo zdarzenie (zdarzenia), działa to w przypadku dowolnej aplikacji nieinternetowej.

Należy również spojrzeć na inne pytania tutaj na SO, takich jak Handling Input from a Keyboard Wedge

+0

to dla gdy aplikacja jest na pierwszym planie, choć nie jest to? –

+1

Tak, potrzebuję go monitorować w tle. –

+0

+1 za link do odpowiedzi Wedge –

Powiązane problemy