非 unicode 程序的语言会更改 ini 读取

Language for non-unicode programs change ini reading

本文关键字:ini 读取 语言 unicode 程序      更新时间:2023-10-16

我有一个非Unicode应用程序,它使用ini读取函数的unicode版本,如GetPrivateProfileSectionW和GetPrivateProfileStringW。当"非 unicode 程序的语言"设置为英语时,该程序运行良好。

当我将此设置更改为中文 (PRC) 时,函数 GetPrivateProfileSectionW 和 GetPrivateProfileStringW 返回 null。

我必须将此设置保留为中文,因为当为"非 unicode 程序的语言"选择英语时,CComBSTR.LoadString 无法按预期工作,它会将资源 DLL 中的中文字符作为问号加载。

有什么想法吗?

谢谢。

Michael Kaplan解释说。解决方案是使用Unicode INI文件,该文件不依赖于"非Unicode程序的语言"。

"非 Unicode 程序的语言"还选择用于文件的默认代码页。 美国英语通常是Windows-1252。 中文会有所不同,比如GB2312或GBK。 打开您的 .INI 文件与记事本,并以"ANSI"格式保存,这将是所选非 Unicode 语言的Microsoft默认值。