在 VS2008 中,AFX_IDP_ASK_TO_SAVE 和其他 AFX_... 字符串保存在 MFC 本地化 DLL 中:MFC90CHS.dll、MFC90JPN.dll。MFC90KOR.dll 等。要在 Windows Vista 和更高版本上使用它们,您应该调用:
SetThreadUILanguage (MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
或者
SetThreadUILanguage (MAKELANGID(LANG_JAPANESE,SUBLANG_JAPANESE_JAPAN));
在 Windows XP 上调用:
SetThreadLocale(lcid)
有关常量,请参阅https://msdn.microsoft.com/en-us/library/windows/desktop/dd318693%28v=vs.85%29.aspx
使用 GetSystemDefaultLangID 检索正确的语言环境,即在中文操作系统上。
重要提示:不要使用 GetUserDefaultLangID() 或 GetSystemDefaultUILanguage(),它们会返回不同的东西,即如果您有英文操作系统,则选择了中文区域设置。
lcid = MAKELCID(GetSystemDefaultLangID(), SORT_DEFAULT);//With Chinese locale, returns 0x804, zh-CN