【问题标题】:How to get current operating system language?如何获取当前的操作系统语言?
【发布时间】:2015-05-14 03:44:28
【问题描述】:

我是 mfc 的新手,我对如何获取当前操作系统语言感到震惊(例如:如果是英文操作系统,我必须获取它,因为英语和语言环境可能不同。对于英语操作系统语言环境可以是日语反之亦然)。

当前语言环境我通过GetSystemDefaultLangID 获得它,我唯一剩下的就是我需要获得当前的操作系统语言。

谁能帮我解决这个问题。

【问题讨论】:

    标签: winapi mfc


    【解决方案1】:

    也许你需要GetUserDefaultUILanguage。系统设置和用户设置可能不一样。

    User Interface Language Management

    int wmain()
    {
        wcout << "GetUserDefaultUILanguage:   " << GetUserDefaultUILanguage() << "\n";
        wcout << "GetSystemDefaultUILanguage: " << GetSystemDefaultUILanguage() << "\n";
        wcout << "\n";
        wcout << "GetUserDefaultLangID:       " << GetUserDefaultLangID() << "\n";
        wcout << "GetSystemDefaultLangID:     " << GetSystemDefaultLangID() << "\n";
        wcout << "\n";
        wcout << "GetUserDefaultLCID:         " << GetUserDefaultLCID() << "\n";
        wcout << "GetSystemDefaultLCID:       " << GetSystemDefaultLCID() << "\n";
        wcout << "\n";
    
        wchar_t buf[100];
        LCID lcid = GetUserDefaultLCID();
        cout << "GetUserDefaultLCID: " << "\n";
        if (GetLocaleInfo(lcid, LOCALE_ILANGUAGE, buf, 100)) wcout << buf << "\n";
        if (GetLocaleInfo(lcid, LOCALE_SENGLANGUAGE, buf, 100))  wcout << buf << "\n";
        if (GetLocaleInfo(lcid, LOCALE_SISO639LANGNAME, buf, 100)) wcout << buf << "\n";
    
        return 0;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-01
      • 2011-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-15
      • 1970-01-01
      • 2018-03-14
      相关资源
      最近更新 更多