问题:
如何使用SendInput发送多个字符?
答案:
SendInput() 接受多个 INPUT 结构。每个 INPUT 结构代表一个按键事件(按下或释放)。要发送多个字符,请创建 INPUT 结构数组并指定正确的虚拟键代码或 Unicode 代码点。
发送两个字符的正确代码:
<code class="c++">#include <array> int main() { array<INPUT, 4> in; // KEYEVENTF_UNICODE specifies using Unicode codepoints in[0].type = INPUT_KEYBOARD; in[0].ki.dwFlags = KEYEVENTF_UNICODE; in[0].ki.wScan = 0; in[0].ki.time = 0; in[0].ki.dwExtraInfo = 0; in[0].ki.wVk = VkKeyScanW('S'); // 'S' character in[1].type = INPUT_KEYBOARD; in[1].ki.dwFlags = KEYEVENTF_UNICODE | KEYEVENTF_KEYUP; in[1].ki.wScan = 0; in[1].ki.time = 0; in[1].ki.dwExtraInfo = 0; in[1].ki.wVk = VkKeyScanW('S'); // 'S' character in[2].type = INPUT_KEYBOARD; in[2].ki.dwFlags = KEYEVENTF_UNICODE; in[2].ki.wScan = 0; in[2].ki.time = 0; in[2].ki.dwExtraInfo = 0; in[2].ki.wVk = VkKeyScanW('T'); // 'T' character in[3].type = INPUT_KEYBOARD; in[3].ki.dwFlags = KEYEVENTF_UNICODE | KEYEVENTF_KEYUP; in[3].ki.wScan = 0; in[3].ki.time = 0; in[3].ki.dwExtraInfo = 0; in[3].ki.wVk = VkKeyScanW('T'); // 'T' character SendInput(in.size(), &in[0], sizeof(INPUT)); return 0; }</code>
重要提示:
以上是如何使用 SendInput() 发送多个字符?的详细内容。更多信息请关注PHP中文网其他相关文章!