0

我在用着:

keybd_event(0x41, 0, 0, 0);

0x41 是一个'a'。但这只会在屏幕上打印一个“a”。我需要它来按住键。当我打电话时

keybd_event(0x41, 0, KEYEVENTF_KEYUP, 0);

它必须释放密钥。

那可能吗?

4

2 回答 2

1

您可以用SendInput替换keybd_event呼叫。您可以在事件系统允许的范围内插入尽可能多的击键事件。该函数返回成功插入的事件数。

于 2009-06-01T17:45:43.673 回答
0

你想达到什么目的?打算保持按下的键应该已经在您的第一行中这样做了。

这是keybd_event() 的文档。也许它会帮助回答你的问题。(也许您需要 GetKeyboardState() 方法?)

如果您只是尝试反复敲击一个键,那么循环第一次调用要比尝试让系统自动重复更容易。您可以在系统信息 API 函数中找到要使用的适当延迟。

于 2009-06-01T17:01:36.743 回答