我有一个简单的SendChar功能:
void SendChar(const char mC)
{
INPUT ip={0}; KEYBDINPUT kb={0};
char mK=mC;
kb.wScan=mK;
kb.dwFlags=KEYEVENTF_UNICODE;
ip.type=INPUT_KEYBOARD;
ip.ki=kb;
SendInput(1,&ip,sizeof(INPUT));
}
使用普通密钥运行良好但是当我想发送一个unicode字符示例'á'(在unicode表中为0xE1)时,它会发送错误的字符('£')。
SendChar(0xE1);
SendChar('á');
但是它成功了
void SendChar()
{
INPUT ip={0}; KEYBDINPUT kb={0};
kb.wScan=0xE1;
kb.dwFlags=KEYEVENTF_UNICODE;
ip.type=INPUT_KEYBOARD;
ip.ki=kb;
SendInput(1,&ip,sizeof(INPUT));
}
请帮我知道我的第一个功能有什么问题?