gpt4 book ai didi

c++ - VC++中如何使用资源?

转载 作者:行者123 更新时间:2023-11-27 23:35:34 24 4
gpt4 key购买 nike

我正在使用 VC 9,我想为我的应用程序支持俄语。我什至创建了俄语资源字符串。但是我的系统有俄语设置。如果不存在,每个字符都显示为垃圾(其代码页为 1251)。我还从俄罗斯资源文件制作了 DLL。如果我从安装位置在应用程序中运行该 DLL,它工作正常。但是当我将计算机设置更改为英语并从应用程序运行该 DLL 时,对话框和消息框显示垃圾字符。但是应用程序不应该从 DLL 中读取,而不是从计算机语言设置中读取吗?在这里,我面临如何制作独立于语言的 DLL 的问题。有任何代码或设置吗?

最佳答案

到目前为止,最简单的解决方案是坚持使用 Unicode。

Windows 内部是 Unicode。 (几乎)每个 API 函数都存在两个变体,FooA 和 FooW。 FooA 变体在调用 FooW 之前将 char 转换为 wchar_t。确切的转换由代码页定义。

现在,如果您使用 Unicode,则没有这种转换,也没有代码页。如果用户输入 ж (U+0436,它存储为 wchar_t(0x0436) 并且永远不会转换。如果您的资源包含 Unicode 中的 ж,它也不会被转换。

关于c++ - VC++中如何使用资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/494916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com