【问题标题】:Reading Ctrl + until found a non-digit from keyboard读取 Ctrl + 直到从键盘找到一个非数字
【发布时间】:2012-07-22 00:05:18
【问题描述】:

有可能在按下 Ctrl 后,之前按下所有键,直到找到非数字?有效输入:

Ctrl + 1 // do something with 1

Ctrl + 2 // do something with 2

//..

Ctrl + 30 // do something with 30

这将作为 FN 键起作用,但我想使用 Ctrl 并将范围从 0-9 扩展到 0-50。我希望这是干净的。提前致谢。

注意:我标记了 C#C 语言,因为这两种语言都适用于我的用例。

【问题讨论】:

  • 全局或仅在您的程序有焦点时?
  • 使用Ctrl-30,会不会处理Ctrl-3?
  • @CodesInChaos:全球。
  • @jcolebrand: 例如 Ctrl + 30a a 在这个输入中是非数字。
  • 嗯,想不出比全局低级键盘钩子更好的方法了。

标签: c# c windows keyboard-shortcuts key


【解决方案1】:

一个低级的键盘钩子应该能够做到这一点。将SetWindowsHookExWH_KEYBOARD_LL 一起使用。您可以在 Internet 上找到一些 C# 实现。

由于其全局副作用,我通常不鼓励使用键盘挂钩,但我想不出其他任何东西可以满足您的要求。

【讨论】:

    猜你喜欢
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多