我用 C# 创建了一个 Windows 服务。如何在按下某个键时调用一个函数,并在该函数中获取该键的值。我需要它来按下键和按下键。
我的目标是在按下特定系列的键时发送电子邮件。例如,如果您按 h-e-l-l-o,无论您在桌面上的哪个位置键入,程序都应该发送电子邮件。
另外,我可以用其他方式实现它。我需要一个在后台运行并在按下键时执行某些操作的程序。
我怎样才能做这样的事情? 一个例子会很有帮助。
最佳答案
正如有人已经评论过的,Windows 服务没有可以接收键盘焦点或 Windows 键盘消息的前台窗口。因此,要实现您所追求的目标,您唯一的选择是使用 low level event hook接收键盘事件。
但请注意,这些是系统范围的事件,您的服务可能会被它们淹没。它们在屏幕阅读器和其他辅助技术等应用程序中很有用,但我建议在使用此方法之前尝试考虑是否有其他方法可以完成您想做的事情。例如,您可以只在系统托盘中运行一个应用程序并订阅 WM_HOTKEY messages通过调用RegisterHotKey ?
关于c# - 在 C# windows 服务中捕获键盘事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56103251/