MFC 多语言 SetThreadUILanguage 编译器不认识? 本帖最后由 VisualEleven 于 2013-09-26 15:40:19 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Windows NT/2000/XP/Vista: Included in Windows XP and Windows Vista and later. Windows 95/98/Me: Unsupported. Header: Declared in Winnls.h; include Windows.h. Library: Use Kernel32.lib.做多语言,最好使用dll的方式,这也是MS推荐的方式~ 我用过Dll方式做一个两个纯资源的Dll然后在InitInstance()中用LoadLibrary()加载,但是开始运行就报错,1楼能不能给推荐篇文章或者例程看看。 #include "Winnls.h"#include "Windows.h"链接时加了依赖项Kernel32.lib还是认不出来 error C3861: 'SetThreadUILanguage': identifier not found 我觉得不是加载方法的问题,是库里没有这个函数,我的XP系统上没有在win7下需要的settheaduilanguage();求怎么让库里有这个函数 VS2010里面有。你的VS2005没有的话说明这个API是后来才出的。VS2005自带的winSDK版本太低,下载最新版本SDK更新即可 public: HINSTANCE m_hLangDLL; //语言库句柄 void CxxDlg::LoadLanguageLib(){ // 判定系统缺省语种 theApp.m_hLangDLL = NULL; WORD wLangPID=PRIMARYLANGID(::GetSystemDefaultLangID()); // 载入资源动态链接库 switch( wLangPID ) { case LANG_CHINESE: theApp.m_hLangDLL=::LoadLibrary(_T("Lang_Ch.dll")); if(!theApp.m_hLangDLL) { AfxMessageBox(_T("无法加载语言库")); return; } break ; default: theApp.m_hLangDLL=::LoadLibrary(_T("Lang_En.dll")); if(!theApp.m_hLangDLL) { AfxMessageBox(_T("can not load language lib")); return; } break; }}str.LoadString(theApp.m_hLangDLL, IDS_ERROR_EXCEPTION); 下了个Win7的SDK装上后,编译器认识了,6楼正解 【求助】一段MFC类构造函数的汇编代码,写出它的C++形式 請問如何獲取Ccontrolbar上的Edit或RichEdit控件的Change消息? 我觉得很难的问题 如何解决运行库冲突的问题(VC7.0)。 高分请教,怎么修改添加删除面板中的项目 如何在CRichEditCtrl中添加字符串,用编程的方法来实现. 如何实现象win的任务管理器里,提升进程优先级? 怎样把设备有关位图转换为设备无关位图? 救命,对话框显示的奇怪问题!!! debug版可以运行,release版却不可以?? mfc 串口通信 十六进制 显示的 问题 【请教】为什么有的XP机器不释放Excel资源??
Windows 95/98/Me: Unsupported.
Header: Declared in Winnls.h; include Windows.h.
Library: Use Kernel32.lib.做多语言,最好使用dll的方式,这也是MS推荐的方式~
#include "Windows.h"
链接时加了依赖项Kernel32.lib还是认不出来
error C3861: 'SetThreadUILanguage': identifier not found
你的VS2005没有的话说明这个API是后来才出的。
VS2005自带的winSDK版本太低,下载最新版本SDK更新即可
public:
HINSTANCE m_hLangDLL; //语言库句柄 void CxxDlg::LoadLanguageLib()
{
// 判定系统缺省语种
theApp.m_hLangDLL = NULL;
WORD wLangPID=PRIMARYLANGID(::GetSystemDefaultLangID());
// 载入资源动态链接库
switch( wLangPID )
{
case LANG_CHINESE:
theApp.m_hLangDLL=::LoadLibrary(_T("Lang_Ch.dll"));
if(!theApp.m_hLangDLL)
{
AfxMessageBox(_T("无法加载语言库"));
return;
}
break ;
default:
theApp.m_hLangDLL=::LoadLibrary(_T("Lang_En.dll"));
if(!theApp.m_hLangDLL)
{
AfxMessageBox(_T("can not load language lib"));
return;
}
break;
}
}
str.LoadString(theApp.m_hLangDLL, IDS_ERROR_EXCEPTION);