我目前正在尝试开发一个应用程序,使用户可以将击键发送到特定程序。我已经可以发送密钥并按住特定的密钥了,
[DllImport("user32.dll", SetLastError = true)]
static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
keybd_event(key, 0, 0, 0); //Start holding the key down
keybd_event(key, 0, KEY_UP_EVENT, 0); //Stop holding the key down
在发送字母时按住Shift键可以将它们大写。 但是,如果我按住一个字母(例如,将其发送到记事本),则只需写一次该字母。如果我用物理键盘做同样的事情,它将开始写字母,直到我放开手。有没有人提示或提示我该如何处理?
我已经尝试过秒表,但是那也不起作用。
答案 0 :(得分:0)
感谢@RaymondChen,已经回答了这个问题。
物理键盘具有称为“打字”的功能,该功能可以自动重复按下的字符。您也必须效仿。
如果要模拟重复击键,只需发送多个KeyDown和KeyUP事件。