【问题标题】:How to detect KeyPress while program is running in background in Win32 C++如何在 Win32 C++ 后台运行程序时检测 KeyPress
【发布时间】:2011-06-28 19:58:27
【问题描述】:

我有一个程序,只要我最小化它,它就会进入系统托盘。

我想知道是这样的: a)我的程序在系统托盘中时如何检测按键。 b) 我怎么知道他们在键盘上按的是什么功能按钮。

【问题讨论】:

    标签: winapi visual-c++-2010


    【解决方案1】:

    您需要使用SetWindowsHookEx() 设置键盘挂钩。查看WH_KEYBOARD and WH_KEYBOARD_LL 钩子。

    【讨论】:

    • 哇,这被否决了!我不苦,只是想知道原因:)
    • 或者,您可以使用原始输入直接从键盘驱动程序获取WM_INPUT 消息。看RegisterRawInputDevices()
    【解决方案2】:

    如果您确切知道预期的击键方式,您可以使用RegisterHotkey,Windows 会在按下该键时向您发送一条消息。

    如果您想检测所有击键,@OJ 的答案将起作用。

    【讨论】:

      猜你喜欢
      • 2021-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多