我想创建一个控制台应用程序,该应用程序将显示在控制台屏幕上按下的键,到目前为止,我已完成以下代码:
static void Main(string[] args) { // this is absolutely wrong, but I hope you get what I mean PreviewKeyDownEventArgs += new PreviewKeyDownEventArgs(keylogger); } private void keylogger(KeyEventArgs e) { Console.Write(e.KeyCode); }
我想知道,我应该在main中键入什么以便可以调用该事件?
对于控制台应用程序,您可以执行此操作,do while循环一直运行,直到您按x
do while
x
public class Program { public static void Main() { ConsoleKeyInfo keyinfo; do { keyinfo = Console.ReadKey(); Console.WriteLine(keyinfo.Key + " was pressed"); } while (keyinfo.Key != ConsoleKey.X); } }
仅当 控制台应用程序具有焦点时, 此方法才有效。如果要收集系统范围的按键事件,可以使用Windows钩子