我有一个非unicode应用程序,它使用uniode版本的ini读取函数,如GetPrivateProfileSectionW和GetPrivateProfileStringW。当“非unicode程序的语言”设置为英语时,该程序运行良好。
当我将此设置更改为中文(PRC)时,函数GetPrivateProfileSectionW和GetPrivateProfileStringW将返回null。
我必须将此设置保留为中文,因为当为“非Unicode程序的语言”选择英语时,CComBSTR.LoadString无法正常工作,它会将资源DLL中的中文字符作为问号加载。
有什么想法吗?
感谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
“非Unicode程序的语言”还选择用于文件的默认代码页。美国英语通常是Windows-1252。中文将有所不同,如GB2312或GBK。使用记事本打开.INI文件,并使用“ANSI”格式保存,这将是Microsoft默认选择的非Unicode语言。