本帖最后由 VisualEleven 于 2013-09-26 15:40:19 编辑

解决方案 »

  1.   

    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推荐的方式~
      

  2.   

    我用过Dll方式做一个两个纯资源的Dll然后在InitInstance()中用LoadLibrary()加载,但是开始运行就报错,1楼能不能给推荐篇文章或者例程看看。
      

  3.   

    #include "Winnls.h"
    #include "Windows.h"
    链接时加了依赖项Kernel32.lib还是认不出来
     error C3861: 'SetThreadUILanguage': identifier not found
      

  4.   

    我觉得不是加载方法的问题,是库里没有这个函数,我的XP系统上没有在win7下需要的settheaduilanguage();求怎么让库里有这个函数
      

  5.   

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

  6.   


    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);
      

  7.   

    下了个Win7的SDK装上后,编译器认识了,6楼正解