`
mybwu_com
  • 浏览: 192740 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

VC 如何得到系统所用的语言?

 
阅读更多

LANGID langid = GetSystemDefaultLangID();

//例如:2052

langid = GetUserDefaultLangID();

//例如:2052

CString msgFile;
msgFile.Format(_T("%04xl"),langid);

//例如:0804

TCHAR name[4*1024]={0};
GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SNATIVELANGNAME,
name, sizeof(name)/sizeof(TCHAR));

//例如:中文(简体)


LCID lcid=GetSystemDefaultLCID();

//例如:2052


UINT acp=GetACP();

//例如:936

HINSTANCE m_hLangDLL = NULL;

WORD wLangID=PRIMARYLANGID(::GetSystemDefaultLangID());

switch(wLangID)
{
case LANG_CHINESE:
m_hLangDLL=AfxLoadLibrary(_T( "Chinese.DLL "));
break;
default:
m_hLangDLL=AfxLoadLibrary(_T( "English.DLL "));
break;
}
if(!m_hLangDLL)
{
AfxMessageBox(_T( "Unable to load resource DLL!\n\rUse self-resource! "));
}
else
{
AfxSetResourceHandle(m_hLangDLL);
}

FreeLibrary(m_hLangDLL);

相关定义参考:WinNT.h

//
// Language IDs.
//
// The following two combinations of primary language ID and
// sublanguage ID have special semantics:
//
// Primary Language ID Sublanguage ID Result
// ------------------- --------------- ------------------------
// LANG_NEUTRAL SUBLANG_NEUTRAL Language neutral
// LANG_NEUTRAL SUBLANG_DEFAULT User default language
// LANG_NEUTRAL SUBLANG_SYS_DEFAULT System default language
// LANG_INVARIANT SUBLANG_NEUTRAL Invariant locale
//

//
// Primary language IDs.
//

#define LANG_NEUTRAL 0x00
#define LANG_INVARIANT 0x7f

#define LANG_AFRIKAANS 0x36
#define LANG_ALBANIAN 0x1c
#define LANG_ARABIC 0x01
#define LANG_ARMENIAN 0x2b
#define LANG_ASSAMESE 0x4d
#define LANG_AZERI 0x2c
#define LANG_BASQUE 0x2d
#define LANG_BELARUSIAN 0x23
#define LANG_BENGALI 0x45
#define LANG_BULGARIAN 0x02
#define LANG_CATALAN 0x03
#define LANG_CHINESE 0x04
#define LANG_CROATIAN 0x1a
#define LANG_CZECH 0x05
#define LANG_DANISH 0x06
#define LANG_DIVEHI 0x65
#define LANG_DUTCH 0x13
#define LANG_ENGLISH 0x09
#define LANG_ESTONIAN 0x25
#define LANG_FAEROESE 0x38
#define LANG_FARSI 0x29
#define LANG_FINNISH 0x0b
#define LANG_FRENCH 0x0c
#define LANG_GALICIAN 0x56
#define LANG_GEORGIAN 0x37
#define LANG_GERMAN 0x07
#define LANG_GREEK 0x08
#define LANG_GUJARATI 0x47
#define LANG_HEBREW 0x0d
#define LANG_HINDI 0x39
#define LANG_HUNGARIAN 0x0e
#define LANG_ICELANDIC 0x0f
#define LANG_INDONESIAN 0x21
#define LANG_ITALIAN 0x10
#define LANG_JAPANESE 0x11
#define LANG_KANNADA 0x4b
#define LANG_KASHMIRI 0x60
#define LANG_KAZAK 0x3f
#define LANG_KONKANI 0x57
#define LANG_KOREAN 0x12
#define LANG_KYRGYZ 0x40
#define LANG_LATVIAN 0x26
#define LANG_LITHUANIAN 0x27
#define LANG_MACEDONIAN 0x2f // the Former Yugoslav Republic of Macedonia
#define LANG_MALAY 0x3e
#define LANG_MALAYALAM 0x4c
#define LANG_MANIPURI 0x58
#define LANG_MARATHI 0x4e
#define LANG_MONGOLIAN 0x50
#define LANG_NEPALI 0x61
#define LANG_NORWEGIAN 0x14
#define LANG_ORIYA 0x48
#define LANG_POLISH 0x15
#define LANG_PORTUGUESE 0x16
#define LANG_PUNJABI 0x46
#define LANG_ROMANIAN 0x18
#define LANG_RUSSIAN 0x19
#define LANG_SANSKRIT 0x4f
#define LANG_SERBIAN 0x1a
#define LANG_SINDHI 0x59
#define LANG_SLOVAK 0x1b
#define LANG_SLOVENIAN 0x24
#define LANG_SPANISH 0x0a
#define LANG_SWAHILI 0x41
#define LANG_SWEDISH 0x1d
#define LANG_SYRIAC 0x5a
#define LANG_TAMIL 0x49
#define LANG_TATAR 0x44
#define LANG_TELUGU 0x4a
#define LANG_THAI 0x1e
#define LANG_TURKISH 0x1f
#define LANG_UKRAINIAN 0x22
#define LANG_URDU 0x20
#define LANG_UZBEK 0x43
#define LANG_VIETNAMESE 0x2a

//
// Sublanguage IDs.
//
// The name immediately following SUBLANG_ dictates which primary
// language ID that sublanguage ID can be combined with to form a
// valid language ID.
//

#define SUBLANG_NEUTRAL 0x00 // language neutral
#define SUBLANG_DEFAULT 0x01 // user default
#define SUBLANG_SYS_DEFAULT 0x02 // system default

#define SUBLANG_ARABIC_SAUDI_ARABIA 0x01 // Arabic (Saudi Arabia)
#define SUBLANG_ARABIC_IRAQ 0x02 // Arabic (Iraq)
#define SUBLANG_ARABIC_EGYPT 0x03 // Arabic (Egypt)
#define SUBLANG_ARABIC_LIBYA 0x04 // Arabic (Libya)
#define SUBLANG_ARABIC_ALGERIA 0x05 // Arabic (Algeria)
#define SUBLANG_ARABIC_MOROCCO 0x06 // Arabic (Morocco)
#define SUBLANG_ARABIC_TUNISIA 0x07 // Arabic (Tunisia)
#define SUBLANG_ARABIC_OMAN 0x08 // Arabic (Oman)
#define SUBLANG_ARABIC_YEMEN 0x09 // Arabic (Yemen)
#define SUBLANG_ARABIC_SYRIA 0x0a // Arabic (Syria)
#define SUBLANG_ARABIC_JORDAN 0x0b // Arabic (Jordan)
#define SUBLANG_ARABIC_LEBANON 0x0c // Arabic (Lebanon)
#define SUBLANG_ARABIC_KUWAIT 0x0d // Arabic (Kuwait)
#define SUBLANG_ARABIC_UAE 0x0e // Arabic (U.A.E)
#define SUBLANG_ARABIC_BAHRAIN 0x0f // Arabic (Bahrain)
#define SUBLANG_ARABIC_QATAR 0x10 // Arabic (Qatar)
#define SUBLANG_AZERI_LATIN 0x01 // Azeri (Latin)
#define SUBLANG_AZERI_CYRILLIC 0x02 // Azeri (Cyrillic)
#define SUBLANG_CHINESE_TRADITIONAL 0x01 // Chinese (Taiwan)
#define SUBLANG_CHINESE_SIMPLIFIED 0x02 // Chinese (PR China)
#define SUBLANG_CHINESE_HONGKONG 0x03 // Chinese (Hong Kong S.A.R., P.R.C.)
#define SUBLANG_CHINESE_SINGAPORE 0x04 // Chinese (Singapore)
#define SUBLANG_CHINESE_MACAU 0x05 // Chinese (Macau S.A.R.)
#define SUBLANG_DUTCH 0x01 // Dutch
#define SUBLANG_DUTCH_BELGIAN 0x02 // Dutch (Belgian)
#define SUBLANG_ENGLISH_US 0x01 // English (USA)
#define SUBLANG_ENGLISH_UK 0x02 // English (UK)
#define SUBLANG_ENGLISH_AUS 0x03 // English (Australian)
#define SUBLANG_ENGLISH_CAN 0x04 // English (Canadian)
#define SUBLANG_ENGLISH_NZ 0x05 // English (New Zealand)
#define SUBLANG_ENGLISH_EIRE 0x06 // English (Irish)
#define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07 // English (South Africa)
#define SUBLANG_ENGLISH_JAMAICA 0x08 // English (Jamaica)
#define SUBLANG_ENGLISH_CARIBBEAN 0x09 // English (Caribbean)
#define SUBLANG_ENGLISH_BELIZE 0x0a // English (Belize)
#define SUBLANG_ENGLISH_TRINIDAD 0x0b // English (Trinidad)
#define SUBLANG_ENGLISH_ZIMBABWE 0x0c // English (Zimbabwe)
#define SUBLANG_ENGLISH_PHILIPPINES 0x0d // English (Philippines)
#define SUBLANG_FRENCH 0x01 // French
#define SUBLANG_FRENCH_BELGIAN 0x02 // French (Belgian)
#define SUBLANG_FRENCH_CANADIAN 0x03 // French (Canadian)
#define SUBLANG_FRENCH_SWISS 0x04 // French (Swiss)
#define SUBLANG_FRENCH_LUXEMBOURG 0x05 // French (Luxembourg)
#define SUBLANG_FRENCH_MONACO 0x06 // French (Monaco)
#define SUBLANG_GERMAN 0x01 // German
#define SUBLANG_GERMAN_SWISS 0x02 // German (Swiss)
#define SUBLANG_GERMAN_AUSTRIAN 0x03 // German (Austrian)
#define SUBLANG_GERMAN_LUXEMBOURG 0x04 // German (Luxembourg)
#define SUBLANG_GERMAN_LIECHTENSTEIN 0x05 // German (Liechtenstein)
#define SUBLANG_ITALIAN 0x01 // Italian
#define SUBLANG_ITALIAN_SWISS 0x02 // Italian (Swiss)
#if _WIN32_WINNT >= 0x0501
#define SUBLANG_KASHMIRI_SASIA 0x02 // Kashmiri (South Asia)
#endif
#define SUBLANG_KASHMIRI_INDIA 0x02 // For app compatibility only
#define SUBLANG_KOREAN 0x01 // Korean (Extended Wansung)
#define SUBLANG_LITHUANIAN 0x01 // Lithuanian
#define SUBLANG_MALAY_MALAYSIA 0x01 // Malay (Malaysia)
#define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 // Malay (Brunei Darussalam)
#define SUBLANG_NEPALI_INDIA 0x02 // Nepali (India)
#define SUBLANG_NORWEGIAN_BOKMAL 0x01 // Norwegian (Bokmal)
#define SUBLANG_NORWEGIAN_NYNORSK 0x02 // Norwegian (Nynorsk)
#define SUBLANG_PORTUGUESE 0x02 // Portuguese
#define SUBLANG_PORTUGUESE_BRAZILIAN 0x01 // Portuguese (Brazilian)
#define SUBLANG_SERBIAN_LATIN 0x02 // Serbian (Latin)
#define SUBLANG_SERBIAN_CYRILLIC 0x03 // Serbian (Cyrillic)
#define SUBLANG_SPANISH 0x01 // Spanish (Castilian)
#define SUBLANG_SPANISH_MEXICAN 0x02 // Spanish (Mexican)
#define SUBLANG_SPANISH_MODERN 0x03 // Spanish (Spain)
#define SUBLANG_SPANISH_GUATEMALA 0x04 // Spanish (Guatemala)
#define SUBLANG_SPANISH_COSTA_RICA 0x05 // Spanish (Costa Rica)
#define SUBLANG_SPANISH_PANAMA 0x06 // Spanish (Panama)
#define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07 // Spanish (Dominican Republic)
#define SUBLANG_SPANISH_VENEZUELA 0x08 // Spanish (Venezuela)
#define SUBLANG_SPANISH_COLOMBIA 0x09 // Spanish (Colombia)
#define SUBLANG_SPANISH_PERU 0x0a // Spanish (Peru)
#define SUBLANG_SPANISH_ARGENTINA 0x0b // Spanish (Argentina)
#define SUBLANG_SPANISH_ECUADOR 0x0c // Spanish (Ecuador)
#define SUBLANG_SPANISH_CHILE 0x0d // Spanish (Chile)
#define SUBLANG_SPANISH_URUGUAY 0x0e // Spanish (Uruguay)
#define SUBLANG_SPANISH_PARAGUAY 0x0f // Spanish (Paraguay)
#define SUBLANG_SPANISH_BOLIVIA 0x10 // Spanish (Bolivia)
#define SUBLANG_SPANISH_EL_SALVADOR 0x11 // Spanish (El Salvador)
#define SUBLANG_SPANISH_HONDURAS 0x12 // Spanish (Honduras)
#define SUBLANG_SPANISH_NICARAGUA 0x13 // Spanish (Nicaragua)
#define SUBLANG_SPANISH_PUERTO_RICO 0x14 // Spanish (Puerto Rico)
#define SUBLANG_SWEDISH 0x01 // Swedish
#define SUBLANG_SWEDISH_FINLAND 0x02 // Swedish (Finland)
#define SUBLANG_URDU_PAKISTAN 0x01 // Urdu (Pakistan)
#define SUBLANG_URDU_INDIA 0x02 // Urdu (India)
#define SUBLANG_UZBEK_LATIN 0x01 // Uzbek (Latin)
#define SUBLANG_UZBEK_CYRILLIC 0x02 // Uzbek (Cyrillic)

分享到:
评论

相关推荐

    什么是C语言?什么是VB语言?什么是VF语言?什么是JAVA语言?什么是C++语言?.pdf

    "什么是C语言?什么是VB语言?什么是VF语言?...高级语言主要包括VB、VC、FoxPro、Delphi等语言。 编程语言是我们和计算机沟通的唯一方式,我们可以使用不同的编程语言来实现不同的应用程序开发。

    VC实现多语言程序版本

    在Visual C++(简称VC)环境下,实现多语言程序版本主要涉及到资源文件、MFC框架、国际化和本地化策略等多个方面。下面我们将深入探讨如何在VC中实现这一功能。 1. **资源文件与资源脚本** 多语言支持首先从资源...

    VC6.0 多国语言切换(DLL版本,包含DLL项目)

    4. 实现语言切换功能,例如通过菜单选项或系统设置触发DLL的加载。 总的来说,这个资源包为VC6.0开发者提供了一种实现多语言切换的解决方案,通过DLL技术有效地管理和切换应用程序的界面语言。学习和掌握这一技术...

    VC 设置系统时间2

    标题“VC 设置系统时间2”指的是使用Visual C++(简称VC)编程语言来修改操作系统的当前时间。在Windows操作系统中,程序通常通过调用特定的API(应用程序接口)函数来改变系统时间。这个主题涉及到的知识点包括: ...

    16.如何动态删除系统菜单项?(Visual C++编程 源代码)

    16.如何动态删除系统菜单项?(Visual C++编程 源代码)16.如何动态删除系统菜单项?(Visual C++编程 源代码)16.如何动态删除系统菜单项?(Visual C++编程 源代码)16.如何动态删除系统菜单项?(Visual C++编程 ...

    vc实现多语言界面程序

    - 在主程序中,我们需要链接到这个DLL,并提供一种机制让用户选择或自动检测系统语言。 - 使用`LoadLibrary`和`FindResource`函数加载和查找DLL中的资源,然后使用`LoadString`来获取相应的字符串,更新界面元素的...

    vc程序多语言

    这通常通过设置系统语言环境或者修改程序内部的语言标识来实现。例如,可以创建一个全局变量来保存当前语言,并在用户选择语言后更新该变量,再根据变量值加载相应的资源。 4. **资源加载**:在程序运行时,根据...

    VC超市管理系统,VC超市管理系统

    VC作为面向对象的编程语言,以其高效、稳定和灵活的特点,为超市管理系统提供了坚实的技术基础。开发者可以利用MFC(Microsoft Foundation Classes)框架,快速构建用户界面,同时,VC支持多线程,能实现后台数据...

    VC如何转换图像大小?源代码例子

    摘要:VC/C++源码,图形处理,图像转换  分享给大家一个使用VC进行图像、图片转换的源代码例子,引入源图片,设置新图片的名称和长宽等信息即可转换图像。虽然简单,但基本做出了图像转换的原理和思路,为你进一步开发...

    vc+sql文档管理系统

    "VC+SQL文档管理系统"是一种基于Visual C++ 6.0(简称VC6.0)开发的高效能文档管理解决方案。这个系统的核心在于利用VC6.0的强大编程能力与SQL数据库的强大数据处理功能,实现对各类文档的高效存储、检索、权限控制...

    VC实现多国语言方案汇总

    3. **语言切换**:在程序中,需要提供一种机制让用户选择或自动检测系统语言。这通常通过调用Windows API函数`SetThreadLocale`和`LoadLibrary`来实现。 4. **MFC支持**:如果使用MFC(Microsoft Foundation ...

    用vc6开发汇编语言程序的方法

    汇编语言是一种低级编程语言,它与机器指令一一对应,对于理解计算机底层工作原理和进行系统级编程非常有用。虽然现在有更多的高级编程工具和语言可供选择,但VC6.0因其强大的调试功能和对底层控制的灵活性,仍然是...

    vc实现多语言切换

    "vc实现多语言切换"这个主题主要涉及Windows API中的资源管理和MFC(Microsoft Foundation Classes)库的应用。这里我们将深入探讨如何在VC++项目中实现中英文等多语言之间的快速切换。 首先,我们需要理解Windows...

    VC工资管理系统

    《VC工资管理系统详解》 在信息技术日益发达的今天,企业对于高效、准确的管理工具需求愈发强烈,尤其是在人力资源管理方面。VC(Visual C++)工资管理系统便是这样一款针对企业薪资发放进行精细化管理的软件。本篇...

    VC 机器人语音控制系统

    "VC 机器人语音控制系统"是一个综合性的项目,它结合了Visual C++(VC)编程语言、人工智能(AI)以及语音识别技术,旨在实现一个能够通过语音指令进行控制的机器人系统。这一系统的开发与应用,是现代科技发展的一...

    易语言vc6linker_VC7_VC8_VC9_VC2010_连接器

    总结来说,易语言的VC系列链接器是其编译系统的重要组成部分,它们随着VC的发展而不断进化,提供了与之匹配的编译和链接能力。理解并掌握这些链接器的特性和应用场景,对于提升易语言程序的开发效率和质量具有重要...

    系统没有安装VC9、VC11、VC14运行库,注意是X86 32位

    当你看到"系统没有安装VC9、VC11、VC14运行库,注意是X86 32位"这样的提示时,这意味着你的电脑缺少了某些特定版本的VC++运行时库,这些库是32位版本的,适用于X86架构的处理器。 VC9、VC11和VC14分别对应于Visual ...

    VC汇编语言

    【VC汇编语言】指的是在微软的Visual C++(简称VC)环境中使用汇编语言进行程序开发的技术。Visual C++是微软公司推出的一款强大的C++集成开发环境,它支持多种编程语言,包括C、C++以及C++/CLI。汇编语言是计算机...

    win32多国语言vc源码

    1. **字符串资源**:通过使用`LoadString`函数,根据当前系统语言加载对应的字符串资源。 2. **菜单和对话框**:使用`LoadMenu`和`LoadDialog`函数加载多语言的菜单和对话框资源。 3. **资源管理**:可能有一个资源...

    VC仓库管理系统毕业设计全套

    VC仓库管理系统毕业设计全套VC仓库管理系统毕业设计全套VC仓库管理系统毕业设计全套VC仓库管理系统毕业设计全套VC仓库管理系统毕业设计全套VC仓库管理系统毕业设计全套VC仓库管理系统毕业设计全套VC仓库管理系统毕业...

Global site tag (gtag.js) - Google Analytics