我将VisualStudio项目设置为“使用多字节字符集。这是一个较旧的代码库,通常我可以使用各种功能的”W“版本来解决。但是我遇到了试图从编辑控件中获取希伯来字符串的问题。无论我尝试什么,我都会得到问号。
E.g。
int textLen = GetWindowTextLengthW(chatBoxHwnd);
wchar_t* buffw = new wchar_t[textLen + 1];
GetWindowTextW(chatBoxHwnd, buffw, textLen + 1);
但是当我尝试使用buff(例如用MessageBoxW显示它)时,我仍然会收到问号。
答案 0 :(得分:0)
所以解决方案是使用Unicode版本来创建编辑控件本身(CreateWindowExW vs CreateWindowEX)以及围绕它的辅助函数(SendMessageW,SetWindowLongPtrW等...) 之后,我能够成功地使用上面的代码从编辑框中提取希伯来语(和其他语言)。
特别感谢这篇文章How to create a unicode window in a non-unicode application