当我的应用程序在后台时,监视C#中的键盘活动

首先,我需要明确表示我对键盘记录没兴趣。

当我的应用程序在后台时,我需要一种方法来监控最基本级别的键盘活动。 我不需要知道哪些键,我不需要保存任何数据,我根本不需要或计划隐藏我的应用程序,我只需要知道何时按下键并调用方法。

我正在寻找最简单的方法来实现这一目标,我知道合理数量的C#,但没有太复杂,因为我的大部分知识都是自学成才。

我四处寻找一些合适的方法来做这件事,但我没有发现任何有用的东西。 我发现的是一群人在论坛和深度键盘记录器的源代码上说“不,这是非法的”。

如果你们中的任何人可以告诉我实现这一目标的方法,那么我将非常感激。

有一篇文章提供了您需要的工作示例(它还在后台监视键盘和鼠标事件):

在C#中处理全局鼠标和键盘挂钩

你需要使用Window Hooks:

C#中的低级键盘挂钩

但要注意,Windows安全性可能会保护我们不要做你想做的事情!

Microsoft告诉您如何:处理表单级别的键盘输入 。 只要您处理相同的事件,这适用于任何非Web应用程序。

您还应该看一下SO上的其他问题,例如处理来自键盘楔的输入

您可以使用RegisterHotKey windows API注册Windows Hot Key,请查看此博客文章:

http://www.liensberger.it/web/blog/?p=207