我写了一小段这样的代码
// Handle = notepad
// set text to send
std::wstring message_to_send = L"xin chào bạn";
// send message
DWORD_PTR result;
SendMessageTimeoutW(Handle, WM_SETTEXT, (WPARAM)0, (LPARAM)message_to_send.c_str(), SMTO_ABORTIFHUNG, 1000, &result);
但是记事本中粘贴的文本不正确:
xin chà o bạn
我哪里出了问题,我需要做什么来解决这个问题?
我尝试设置项目设置
Use Unicode Character Set
并将文件另存为编码UTF8
但仍然错误
正如 @Remy Lebeau 所说,您显示的结果看起来像 UTF-8,但在 ISO/拉丁字符集中被误解了。你可以告诉编译器该文件是UTF-8。
你可以在这里像Visual studio一样设置:
请参阅 /source-charset 和 /utf-8 编译器选项。