我在用着:
keybd_event(0x41, 0, 0, 0);
0x41 是一个'a'。但这只会在屏幕上打印一个“a”。我需要它来按住键。当我打电话时
keybd_event(0x41, 0, KEYEVENTF_KEYUP, 0);
它必须释放密钥。
那可能吗?
您可以用SendInput替换keybd_event
呼叫。您可以在事件系统允许的范围内插入尽可能多的击键事件。该函数返回成功插入的事件数。
你想达到什么目的?打算保持按下的键应该已经在您的第一行中这样做了。
这是keybd_event() 的文档。也许它会帮助回答你的问题。(也许您需要 GetKeyboardState() 方法?)
如果您只是尝试反复敲击一个键,那么循环第一次调用要比尝试让系统自动重复更容易。您可以在系统信息 API 函数中找到要使用的适当延迟。