模拟按住键

时间:2009-06-01 16:52:08

标签: c++ winapi keypress simulate

我正在使用:

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

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

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

必须释放钥匙。

这可能吗?

2 个答案:

答案 0 :(得分:1)

您可以将keybd_event来电替换为SendInput。您可以插入与事件系统允许的一样多的击键事件。该函数返回成功插入的事件数。

答案 1 :(得分:0)

你想要完成什么?要保持按下的键应该已经使用第一行。

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

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