Maison >développement back-end >C++ >Comment envoyer plusieurs caractères avec SendInput() ?
Question :
Comment SendInput peut-il être utilisé pour envoyer plus d'un caractère ?
Réponse :
SendInput() accepte plusieurs structures INPUT. Chaque structure INPUT représente un seul événement clé (appuyer ou relâcher). Pour envoyer plusieurs caractères, créez un tableau de structures INPUT et spécifiez les codes de clé virtuelle ou les points de code Unicode corrects.
Code correct pour l'envoi de deux caractères :
<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>
Remarque importante :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!