使用 GetWindowTextW 从编辑控件获取希伯来语文本



我有一个VisualStudio项目设置为"使用多字节字符集。 这是一个较旧的代码库,通常我已经能够使用各种函数的"W"版本来解决问题。 但是,我在尝试从编辑控件中获取希伯来语字符串时遇到了问题。 无论我尝试什么,我都会得到问号。

例如

int textLen = GetWindowTextLengthW(chatBoxHwnd);
wchar_t* buffw = new wchar_t[textLen + 1];  
GetWindowTextW(chatBoxHwnd, buffw, textLen + 1);

但是当我尝试使用buffw(例如使用MessageBoxW显示它(时,我仍然会得到问号。

因此,解决方案是使用Unicode版本来创建编辑控件本身(CreateWindowExW与CreateWindowEX(以及围绕它的辅助功能(SendMessageW,SetWindowLongPtrW等(。之后,我能够成功地使用上面的代码从编辑框中提取希伯来语(和其他语言(。

特别感谢这篇文章如何在非 unicode 应用程序中创建 unicode 窗口

最新更新