我正在尝试用C ++创建一个程序,它接受来自给定字符串的字符,并使用SendInput()命令模拟每个字符的按钮按下。它适用于ASCII字符,如拉丁字母和标准符号,但它不适用于unicode字符,特别是我试图输入希腊语。例如,它不打印希腊字母'Σ',而是打印这个字符,看起来像日本的'ム'。任何人都可以解释为什么会发生这种情况,我该如何解决? 这是我每次按键的功能:
void Press(char c)
{
INPUT in;
in.type = INPUT_KEYBOARD;
in.ki.wVk = 0;
in.ki.wScan = c;
in.ki.time = 0;
in.ki.dwFlags = KEYEVENTF_UNICODE;
in.ki.dwExtraInfo = 0;
INPUT i[] = { in };
SendInput(1, i, sizeof(in));
}