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


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

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

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

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

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


10209
2018-04-30 12:17


起源



答案:


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

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


9
2018-04-30 12:31



这提供了我所需要的,非常感谢你。 - Tane Lattanzio
不用担心,欢迎你 - Zaki


答案:


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

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


9
2018-04-30 12:31



这提供了我所需要的,非常感谢你。 - Tane Lattanzio
不用担心,欢迎你 - Zaki


你需要使用Window Hooks:

C#中的低级键盘挂钩

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


5
2018-04-30 12:28





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

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


2
2018-04-30 12:21



那是应用程序在前台的时候,不是吗? - George Duckett
是的,我需要在后台监控它。 - Tane Lattanzio
+1链接到Wedge回答 - Eight-Bit Guru


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

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


0
2018-04-30 12:51