首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

检测windows中英文的有关问题

2013-09-06 
检测windows中英文的问题有人知道怎么检测系统是中文还是英文嘛 百度和bing都没找到相关的资料 不知道我搜

检测windows中英文的问题
有人知道怎么检测系统是中文还是英文嘛 百度和bing都没找到相关的资料 不知道我搜索的方法是否不对
[解决办法]
GetSystemDefaultLangID
The GetSystemDefaultLangID function retrieves the system default language identifier. 

LANGID GetSystemDefaultLangID(VOID)
 
Parameters
This function has no parameters. 

Return Values
The return value is the system default language identifier.

Remarks
For more information about language identifiers, see Language Identifiers and Locale Information.

QuickInfo
  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Requires version 1.0 or later.
  Header: Declared in winnls.h.
  Import Library: Use kernel32.lib.

See Also
National Language Support Overview, National Language Support Functions, GetUserDefaultLangID, MAKELANGID 

 
Language Identifiers
The following are language identifiers. They are composed of a primary language identifier and a secondary language identifier. 

The following identifiers were composed using the MAKELANGID macro. 

Identifier Language 
0x0000 Language Neutral 
0x0400 Process Default Language 
0x0401 Arabic (Saudi Arabia) 
0x0801 Arabic (Iraq) 
0x0c01 Arabic (Egypt) 
0x1001 Arabic (Libya) 
0x1401 Arabic (Algeria) 
0x1801 Arabic (Morocco) 
0x1c01 Arabic (Tunisia) 
0x2001 Arabic (Oman) 
0x2401 Arabic (Yemen) 
0x2801 Arabic (Syria) 
0x2c01 Arabic (Jordan) 
0x3001 Arabic (Lebanon) 
0x3401 Arabic (Kuwait) 
0x3801 Arabic (U.A.E.) 
0x3c01 Arabic (Bahrain) 
0x4001 Arabic (Qatar) 


0x0402 Bulgarian 
0x0403 Catalan 
0x0404 Chinese (Taiwan Region) 
0x0804 Chinese (PRC) 
0x0c04 Chinese (Hong Kong SAR, PRC) 
0x1004 Chinese (Singapore) 
0x0405 Czech 
0x0406 Danish 
0x0407 German (Standard) 
0x0807 German (Swiss) 
0x0c07 German (Austrian) 
0x1007 German (Luxembourg) 
0x1407 German (Liechtenstein) 
0x0408 Greek 
0x0409 English (United States) 
0x0809 English (United Kingdom) 
0x0c09 English (Australian) 
0x1009 English (Canadian) 
0x1409 English (New Zealand) 
0x1809 English (Ireland) 
0x1c09 English (South Africa) 
0x2009 English (Jamaica) 
0x2409 English (Caribbean) 
0x2809 English (Belize) 
0x2c09 English (Trinidad) 
0x040a Spanish (Traditional Sort) 
0x080a Spanish (Mexican) 
0x0c0a Spanish (Modern Sort) 
0x100a Spanish (Guatemala) 
0x140a Spanish (Costa Rica) 
0x180a Spanish (Panama) 
0x1c0a Spanish (Dominican Republic) 
0x200a Spanish (Venezuela) 
0x240a Spanish (Colombia) 
0x280a Spanish (Peru) 
0x2c0a Spanish (Argentina) 
0x300a Spanish (Ecuador) 
0x340a Spanish (Chile) 
0x380a Spanish (Uruguay) 
0x3c0a Spanish (Paraguay) 
0x400a Spanish (Bolivia) 
0x440a Spanish (El Salvador) 
0x480a Spanish (Honduras) 
0x4c0a Spanish (Nicaragua) 
0x500a Spanish (Puerto Rico) 
0x040b Finnish 
0x040c French (Standard) 
0x080c French (Belgian) 
0x0c0c French (Canadian) 
0x100c French (Swiss) 
0x140c French (Luxembourg) 
0x040d Hebrew 
0x040e Hungarian 
0x040f Icelandic 
0x0410 Italian (Standard) 
0x0810 Italian (Swiss) 
0x0411 Japanese 
0x0412 Korean 
0x0812 Korean (Johab) 
0x0413 Dutch (Standard) 
0x0813 Dutch (Belgian) 
0x0414 Norwegian (Bokmal) 
0x0814 Norwegian (Nynorsk) 
0x0415 Polish 
0x0416 Portuguese (Brazilian) 
0x0816 Portuguese (Standard) 


0x0418 Romanian 
0x0419 Russian 
0x041a Croatian 
0x081a Serbian (Latin) 
0x0c1a Serbian (Cyrillic) 
0x041b Slovak 
0x041c Albanian 
0x041d Swedish 
0x081d Swedish (Finland) 
0x041e Thai 
0x041f Turkish 
0x0421 Indonesian 
0x0422 Ukrainian 
0x0423 Belarusian 
0x0424 Slovenian 
0x0425 Estonian 
0x0426 Latvian 
0x0427 Lithuanian 
0x0429 Farsi 
0x042a Vietnamese 
0x042d Basque 
0x0436 Afrikaans 
0x0438 Faeroese 


 

[解决办法]

#include <iostream>
#include <windows.h>
using namespace std;

int main()
{
char buff[1024];
int ret = GetLocaleInfo(LOCALE_USER_DEFAULT,  LOCALE_SNATIVELANGNAME, buff, 1024);
if (ret > 0)
cout << buff << endl;
else
cout << "error\n";
ret = GetLocaleInfo(LOCALE_USER_DEFAULT,  LOCALE_SLANGUAGE, buff, 1024);
if (ret > 0)
cout << buff << endl;
else
cout << "error\n";
ret = GetLocaleInfo(LOCALE_USER_DEFAULT,  LOCALE_ILANGUAGE, buff, 1024);
if (ret > 0)
cout << buff << endl;
else
cout << "error\n";
return 0;
}


3个函数,前2个显示的名称,后1个显示号码。
再试试看

热点排行