C/C++如何获取当前系统的语言类型?
不胜感激~~~ 展开
判断当前操作系统是那种语言
#include <Winnls.h>
#pragma comment(lib,"Kernel32.lib")
LANGID lid = GetSystemDefaultLangID();
switch (lid)
{
case 0X0804:
//MessageBox(_T("Chiese"));
break;
case 0x0409:
//MessageBox(_T("English"));
break;
}
扩展资料
获取操作系统的类型
int CSystemINFO::GetSysVersion()
{
OSVERSIONINFO osver = {sizeof(OSVERSIONINFO)};
GetVersionEx(&osver);
int t;
if (osver.dwMajorVersion == 5 && osver.dwMinorVersion == 0)
{
t = 0;//windows 2000
}
else if (osver.dwMajorVersion == 5 && osver.dwMinorVersion == 1)
{
t = 1;//windows XP
}
else if (osver.dwMajorVersion == 6 && osver.dwMinorVersion == 0)
{
t = 2;//windows 2003
}
else if (osver.dwMajorVersion == 5 && osver.dwMinorVersion == 2)
{
t = 3;//Windows Vista
}
else if (osver.dwMajorVersion == 6 && osver.dwMinorVersion == 1)
{
t = 4;//Windows 7
}
else t = 4;//Windows 7
return t;
}
C/C++可以利用 GetSystemDefaultLCID();函数获取当前系统的语言。
下面是使用的例子:
LCID lcid = GetSystemDefaultLCID();
if(lcid == 0x409)
{
AfxMessageBox("美国英语");
}
else if(lcid == 0x404)
{
AfxMessageBox("中国繁体");
}
else if(lcid == 0x804)
{
AfxMessageBox("中国简体");
}
推荐于2017-11-26
GetUserDefaultUILanguage
GetSystemDefaultUILanguage()
对LCID lcid 的值,可以用 WORD PriLan = PRIMARYLANGID(lcid); WORD SubLan = SUBLANGID(lcid);两个方法取得主语言和子语言。如主语言是中文, 那么子语言可以分为中文简体和中文繁体。
LCID lcid = GetSystemDefaultLCID();
if(lcid == 0x409)
{
AfxMessageBox("美国英语");
}
if(lcid == 0x404)
{
AfxMessageBox("中国繁体");//台湾
}
if(lcid == 0x804)
{
AfxMessageBox("中国简体"); //指中华人民共和国
}