关于 Windows:如果我发送 WM_KEYDOWN 消息(使用 wndproc),计算机会按住键直到我发送 WM_KEYUP?

If I send a WM_KEYDOWN message (using wndproc) will the computer hold the key down until I send WM_KEYUP?

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

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

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

这是我发布的另一个问题,与这个问题有关。
我想做一个虚拟键盘。我需要将 WM_KEYDOWN 发送到当前活动窗口还是 HWND_BROADCAST?


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

1
2
3
WM_KEYDOWN
WM_KEYPRESS
WM_KEYUP

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


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

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