From [this stackoverflow](https://stackoverflow.com/questions/31305404/sending-two-or-more-chars-using-sendinput/31307429#31307429) ```cpp #include #include void SendInputString(const std::wstring &str) { int len = str.length(); if (len == 0) return; std::vector in(len*2); ZeroMemory(&in[0], in.size()*sizeof(INPUT)); int i = 0, idx = 0; while (i < len) { WORD ch = (WORD) str[i++]; if ((ch < 0xD800) || (ch > 0xDFFF)) { in[idx].type = INPUT_KEYBOARD; in[idx].ki.wScan = ch; in[idx].ki.dwFlags = KEYEVENTF_UNICODE; ++idx; in[idx] = in[idx-1]; in[idx].ki.dwFlags |= KEYEVENTF_KEYUP; ++idx; } else { in[idx].type = INPUT_KEYBOARD; in[idx].ki.wScan = ch; in[idx].ki.dwFlags = KEYEVENTF_UNICODE; ++idx; in[idx].type = INPUT_KEYBOARD; in[idx].ki.wScan = (WORD) str[i++]; in[idx].ki.dwFlags = KEYEVENTF_UNICODE; ++idx; in[idx] = in[idx-2]; in[idx].ki.dwFlags |= KEYEVENTF_KEYUP; ++idx; in[idx] = in[idx-2]; in[idx].ki.dwFlags |= KEYEVENTF_KEYUP; ++idx; } } SendInput(in.size(), &in[0], sizeof(INPUT)); } ```