setthreaduilanguage

场景:MFC 多语言 SetThreadUILanguage 编译器不认识?该如何处理

MFC 多语言 SetThreadUILanguage 编译器不认识?
本帖最后由 VisualEleven 于 2013-09-26 15:40:19 编辑
求助 :SetThreadLocal()加载多语言资源时,winXP可以win7下没作用,
查msdn 提供了一个函数SetThreadUILanguage()
可是我在vs2005中发现包含了Winnls.h后编译器依然不认识,后来发现Winnls.h中没有声明。
系统是XP
http://msdn.microsoft.com/en-us/library/dd374053(v=vs.85).aspx这个是MSDN函数介绍
求解决方法。
if (1 == ilanguage)//英文
{
SetThreadLocale(MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT));
//SetThreadUILanguage(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US));
}
else if(0 == ilanguage)//中文
{
SetThreadLocale(MAKELCID(MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED), SORT_DEFAULT));
}

------解决方案--------------------
VS2010里面有。
你的VS2005没有的话说明这个API是后来才出的。
VS2005自带的winSDK版本太低,下载最新版本SDK更新即可