首页 > 解决方案 > 使用win32应用程序获取系统的文化信息

问题描述

我正在使用 win32 控制台应用程序。我想在我的 win32 应用程序中获取当前系统区域设置或文化信息。 比如 en-US 或 zh-CN。

WINAPI有没有提供什么。

这方面的示例代码真的很有帮助。

标签: c++winapimfc

解决方案


您应该使用GetLocaleInfo

wchar_t szISOLang[5] = { 0 };
wchar_t szISOCountry[5] = { 0 };

::GetLocaleInfo(LOCALE_USER_DEFAULT,
    LOCALE_SISO639LANGNAME,
    szISOLang,
    sizeof(szISOLang) / sizeof(wchar_t));

::GetLocaleInfo(LOCALE_USER_DEFAULT,
    LOCALE_SISO3166CTRYNAME,
    szISOCountry,
    sizeof(szISOCountry) / sizeof(WCHAR));

std::wcout << szISOLang << "_" << szISOCountry << std::endl;

在此处输入图像描述


推荐阅读