如何获取当前的操作系统语言?

Siv*_*iva 1 winapi mfc

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

当前的语言环境我正在通过它GetSystemDefaultLangID,我唯一留下的是我需要获得当前的操作系统语言.

任何人都可以帮助我解决这个问题.

Bar*_*ani 5

这出现了.也许你需要GetUserDefaultUILanguage

用户界面语言管理

int wmain(int argc, _TCHAR* argv[])
{
    wcout << "GetUserDefaultUILanguage:   " << GetUserDefaultUILanguage() << endl;
    wcout << "GetSystemDefaultUILanguage: " << GetSystemDefaultUILanguage() << endl;
    wcout << endl;
    wcout << "GetUserDefaultLangID:       " << GetUserDefaultLangID() << endl;
    wcout << "GetSystemDefaultLangID:     " << GetSystemDefaultLangID() << endl;
    wcout << endl;
    wcout << "GetUserDefaultLCID:         " << GetUserDefaultLCID() << endl;
    wcout << "GetSystemDefaultLCID:       " << GetSystemDefaultLCID() << endl;
    wcout << endl;

    wchar_t buf[100];
    LCID lcid = GetUserDefaultLCID();
    cout << "GetUserDefaultLCID: " << endl;
    if (GetLocaleInfo(lcid, LOCALE_ILANGUAGE, buf, 100)) wcout << buf << endl;
    if (GetLocaleInfo(lcid, LOCALE_SENGLANGUAGE, buf, 100))  wcout << buf << endl;
    if (GetLocaleInfo(lcid, LOCALE_SISO639LANGNAME, buf, 100)) wcout << buf << endl << endl;

    system("pause");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)