【问题标题】:If I send a WM_KEYDOWN message (using wndproc) will the computer hold the key down until I send WM_KEYUP?如果我发送 WM_KEYDOWN 消息(使用 wndproc),计算机会按住键直到我发送 WM_KEYUP?
【发布时间】:2010-01-18 23:24:55
【问题描述】:

我正在寻找一种解决方案,以编程方式在一段时间内(我不知道多少次)按住键盘键。

我认为如果我发送 WM_KEYDOWN 消息,则键将被按住,直到发送 WM_KEYUP,但我不确定。

我会测试它。但我得走了,我没有太多时间。我想看看是否有人已经对此进行了测试。

这是我发布的另一个问题,与这个问题相关。
I want to make a virtual keyboard. Do I need to send WM_KEYDOWN to the current active window or HWND_BROADCAST?

【问题讨论】:

    标签: windows keyboard simulation wndproc


    【解决方案1】:

    不,因为如果您检查使用键盘时发送的消息,您会看到消息如下:

    WM_KEYDOWN
    WM_KEYPRESS
    WM_KEYUP
    

    WM_KEYPRESS 消息每隔几个滴答发送一次(取决于键盘配置)。

    【讨论】:

    • 所以我需要发送 WM_KEYDOWN 然后发送 WM_KEYPRESS repetevely 然后停止并发送 WM_KEYUP 消息。这行得通吗?
    【解决方案2】:

    WM_KEYDOWN 和 WM_KEYUP 是系统生成的消息 - 它取决于应用程序如何解释这些消息。合成这些消息不会影响实际的键盘状态。

    如果您想模拟键盘输入,请使用SendInput API。

    【讨论】:

      猜你喜欢
      • 2012-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 2014-07-09
      相关资源
      最近更新 更多