質問:
SendInput を使用して複数の文字を送信するにはどうすればよいですか?
答え:
SendInput() は複数の INPUT 構造体を受け入れます。各 INPUT 構造体は 1 つのキー イベント (押すか離す) を表します。複数の文字を送信するには、INPUT 構造の配列を作成し、正しい仮想キー コードまたは Unicode コードポイントを指定します。
2 つの文字を送信するための正しいコード:
<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 中国語 Web サイトの他の関連記事を参照してください。