【问题标题】:C# windows service identify which function key is pressedC# windows 服务识别按下了哪个功能键
【发布时间】:2019-11-06 00:18:19
【问题描述】:

我正在创建一个 Windows 服务,在此服务中,我想检测何时按下特定键。我检查了以下 https://blogs.msdn.microsoft.com/toub/2006/05/03/low-level-keyboard-hook-in-c/

这个解决方案似乎捕获了除功能键之外的所有键。这里的问题很可能是我缺乏理解。有人可以在这里指导我如何修改上面示例中的代码,以便我可以在按下任何功能键时进行处理(从 F1 到 F12)。 提前致谢

【问题讨论】:

  • 您可能需要查看docs.microsoft.com/en-us/windows/win32/inputdev/… 上的虚拟键码列表,因为 F1-F12 键有自己的键码。你可以在钩子函数中匹配这些
  • 似乎 HookCallback 甚至没有被调用(用 printline 语句测试)。如果是这样,那么我可以测试一个特定的键。
  • 我指的是 FI-F12 键,HookCallback 似乎没有被称为键盘常规键的特殊键,它完美地工作。我正在寻找确定按下哪个 F1-F12 键

标签: c# windows


【解决方案1】:

我的问题中发布的链接具有正常工作的解决方案。我的问题是我自己的代码阻止了代码工作..在我注释掉的代码中有一点 Application.Run() 并且它导致了问题..抱歉浪费空间...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    • 2012-05-23
    • 1970-01-01
    相关资源
    最近更新 更多