1

核心的两个API函数:GetSystemDefaultLangIDVerLanguageName

GetSystemDefaultLangID:获得系统默认语言的ID

VerLanguageName: 通过语言的ID转换为语言的名称 , 根据16位语言代码获取一种语言的名称

uses Windows;
function GetSystemLanguageName: string;
var
ID: LangID;
LanguageName: array[0..255] of Char;
begin
// 获取当前系统 Locale
// 对于简体中文,ID = 2052
ID := GetSystemDefaultLangID;
// 将 ID 转换为文字
// 对于简体中文,LanguageName =“中文(中国)”
VerLanguageName(ID, LanguageName, SizeOf(LanguageName));
Result := LanguageName;
end;

2

还可以通过获得系统本地信息来获取语言环境参数 GetLocaleInfo

Windows API函数GetLocaleInfo 用来获得系统信息,比如系统语言, 货币符号等代码如下:

function TForm1.GetLocaleInformation(Flag: Integer): String;
var
pcLCA: Array[0..20] of Char;
begin
if( GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,Flag,pcLCA,19) <= 0 ) then
begin
pcLCA[0] := #0;
end;
Result := pcLCA;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(GetLocaleInformation(LOCALE_SENGLANGUAGE));
end;

参数"Flag"可以取下列值:

LOCALE_NOUSEROVERRIDE { do not use user overrides }

LOCALE_USE_CP_ACP { use the system ACP }

LOCALE_ILANGUAGE { 语言代号 }

LOCALE_SLANGUAGE { 本地语言名称 }

LOCALE_SENGLANGUAGE { 语言的英语名 }

LOCALE_SABBREVLANGNAME { 语言名称缩写 } 简体:CHS 繁体: CHT

LOCALE_SNATIVELANGNAME { 本地语言名称 }

LOCALE_ICOUNTRY { 国家代号 }

LOCALE_SCOUNTRY { 国家名 }

LOCALE_SENGCOUNTRY { 国家的英语名称 }

LOCALE_SABBREVCTRYNAME { 国家名缩写 }

LOCALE_SNATIVECTRYNAME { 国家名 }

LOCALE_IDEFAULTLANGUAGE { 缺省语言代号 }

LOCALE_IDEFAULTCOUNTRY { 缺省国家代码 }

LOCALE_IDEFAULTCODEPAGE { 缺省oem代码页 }

LOCALE_IDEFAULTANSICODEPAGE { 缺省ansi代码页 }

LOCALE_IDEFAULTMACCODEPAGE { 缺省mac页 }

LOCALE_SLIST { 列表项分割符 }

LOCALE_IMEASURE { 测量单位0 = 米制, 1 = 英制 }

LOCALE_SDECIMAL { 小数点符号 }

LOCALE_STHOUSAND { 千位分割符 }

LOCALE_SGROUPING { digit grouping }

LOCALE_IDIGITS { number of fractional digits }

LOCALE_ILZERO { leading zeros for decimal }

LOCALE_INEGNUMBER { 负数模式 }

LOCALE_SNATIVEDIGITS { native ascii 0-9 }

LOCALE_SCURRENCY { 本地货币符号 }

LOCALE_SINTLSYMBOL { 国际货币符号 }

LOCALE_SMONDECIMALSEP { 货币小数点分割符 }

LOCALE_SMONTHOUSANDSEP { 货币千位分割符 }

LOCALE_SMONGROUPING { monetary grouping }

LOCALE_ICURRDIGITS { # local monetary digits }

LOCALE_IINTLCURRDIGITS { # intl monetary digits }

LOCALE_ICURRENCY { positive currency mode }

LOCALE_INEGCURR { negative currency mode }

LOCALE_SDATE { 日期分割符 }

LOCALE_STIME { 时间分割符 }

LOCALE_SSHORTDATE { 短日期字符串 }

LOCALE_SLONGDATE { 长日期字符串 }

LOCALE_STIMEFORMAT { time format string }

LOCALE_IDATE { short date format ordering }

LOCALE_ILDATE { long date format ordering }

LOCALE_ITIME { time format specifier }

LOCALE_ITIMEMARKPOSN { time marker position }

LOCALE_ICENTURY { century format specifier (short date) }

LOCALE_ITLZERO { leading zeros in time field }

LOCALE_IDAYLZERO { leading zeros in day field (short date) }

LOCALE_IMONLZERO { leading zeros in month field (short date) }

LOCALE_S1159 { AM designator }

LOCALE_S2359 { PM designator }

LOCALE_ICALENDARTYPE { type of calendar specifier }

LOCALE_IOPTIONALCALENDAR { additional calendar types specifier }

LOCALE_IFIRSTDAYOFWEEK { first day of week specifier }

LOCALE_IFIRSTWEEKOFYEAR { first week of year specifier }

LOCALE_SDAYNAME1 { long name for Monday }

LOCALE_SDAYNAME2 { long name for Tuesday }

LOCALE_SDAYNAME3 { long name for Wednesday }

LOCALE_SDAYNAME4 { long name for Thursday }

LOCALE_SDAYNAME5 { long name for Friday }

LOCALE_SDAYNAME6 { long name for Saturday }

LOCALE_SDAYNAME7 { long name for Sunday }

LOCALE_SABBREVDAYNAME1 { 星期一的缩写 }

LOCALE_SABBREVDAYNAME2 { 星期二的缩写 }

LOCALE_SABBREVDAYNAME3 { 星期三的缩写 }

LOCALE_SABBREVDAYNAME4 { 星期四的缩写 }

LOCALE_SABBREVDAYNAME5 { 星期五的缩写 }

LOCALE_SABBREVDAYNAME6 { 星期六的缩写 }

LOCALE_SABBREVDAYNAME7 { 星期天的缩写 }

LOCALE_SMONTHNAME1 { long name for January }

LOCALE_SMONTHNAME2 { long name for February }

LOCALE_SMONTHNAME3 { long name for March }

LOCALE_SMONTHNAME4 { long name for April }

LOCALE_SMONTHNAME5 { long name for May }

LOCALE_SMONTHNAME6 { long name for June }

LOCALE_SMONTHNAME7 { long name for July }

LOCALE_SMONTHNAME8 { long name for August }

LOCALE_SMONTHNAME9 { long name for September }

LOCALE_SMONTHNAME10 { long name for October }

LOCALE_SMONTHNAME11 { long name for November }

LOCALE_SMONTHNAME12 { long name for December }

LOCALE_SMONTHNAME13 { long name for 13th month (if exists) }

LOCALE_SABBREVMONTHNAME1 { 一月的缩写 }

LOCALE_SABBREVMONTHNAME2 { 二月的缩写 }

LOCALE_SABBREVMONTHNAME3 { 三月的缩写 }

LOCALE_SABBREVMONTHNAME4 { 四月的缩写 }

LOCALE_SABBREVMONTHNAME5 { 五月的缩写 }

LOCALE_SABBREVMONTHNAME6 { 六月的缩写 }

LOCALE_SABBREVMONTHNAME7 { 七月的缩写 }

LOCALE_SABBREVMONTHNAME8 { 八月的缩写 }

LOCALE_SABBREVMONTHNAME9 { 九月的缩写 }

LOCALE_SABBREVMONTHNAME10 { 十月的缩写 }

LOCALE_SABBREVMONTHNAME11 { 十一月的缩写 }

LOCALE_SABBREVMONTHNAME12 { 十二月的缩写 }

LOCALE_SABBREVMONTHNAME13 { 十三月的缩写(如果有的话) }

LOCALE_SPOSITIVESIGN { 正号 }

LOCALE_SNEGATIVESIGN { 负号 }

LOCALE_IPOSSIGNPOSN { 正号位置 }

LOCALE_INEGSIGNPOSN { 负号位置 }

LOCALE_IPOSSYMPRECEDES { mon sym precedes pos amt }

LOCALE_IPOSSEPBYSPACE { mon sym sep by space from pos amt }

LOCALE_INEGSYMPRECEDES { mon sym precedes neg amt }

LOCALE_INEGSEPBYSPACE { mon sym sep by space from neg amt }

LOCALE_FONTSIGNATURE { font signature }

LOCALE_SISO639LANGNAME { ISO 缩写语言名称 }

LOCALE_SISO3166CTRYNAME { ISO 缩写国家名称 }

来源:https://www.cnblogs.com/guorongtao/p/11969774.html

最新修改时间于 2019.12.02

Delphi 获取系统的语言环境参数GetSystemDefaultLangID、VerLanguageName、GetLocaleInfo的更多相关文章

  1. Delphi 获取系统当前进程、窗口句柄、文件属性以及程序运行状态

    uses TLHelp32,PsAPI;(1)显示进程列表: procedure TForm1.Button2Click(Sender: TObject); var lppe: TProcessEnt ...

  2. Delphi 获取系统时间后格式化输出

    问题:客户现场程序运行提示时间格式不对导致的错误,原因是与开发环境及公司内部测试环境的日期格式不一致: 解决:统一强制转换: //引用单元:SysUtils //目的:实现跨环境兼容不同日期格式,如果 ...

  3. delphi 获取系统注册的文件图标

    var Icon:TICON; Key : string; App : string; Index : Integer; begin FileName:=Edit6.Text; then begin ...

  4. XE3随笔21:系统默认语言与系统支持的语言列表

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  5. Delphi编程获取系统当前进程、窗口句柄、文件属性以(转)

    Delphi编程获取系统当前进程.窗口句柄.文件属性以及程序运行状态. uses TLHelp32,PsAPI; (1)显示进程列表:procedure TForm1.Button2Click(Sen ...

  6. 用Delphi获取当前系统时间

    在开发应用程序时往往需要获取当前系统时间.尽管Y2K似乎已经平安过去,但在我们新开发的应用程序中还是要谨慎处理“时间”问题. 在<融会贯通--Delphi4.0实战技巧>(以下简称“该书” ...

  7. Linux C 语言 获取系统时间信息

    比如获取当前年份:        /* 获取当前系统时间 暂时不使用        int iyear = 0;        int sysyear = 0;        time_t now;  ...

  8. Delphi获取当前系统时间(使用API函数GetSystemTime)

    在开发应用程序时往往需要获取当前系统时间.尽管Y2K似乎已经平安过去,但在我们新开发的应用程序中还是要谨慎处理“时间”问题. 在<融会贯通--Delphi4.0实战技巧>(以下简称“该书” ...

  9. C语言 获取系统时间与睡眠时间函数

    摘要: 以ms为单位,获取系统时间.睡眠或延迟时间函数的使用方法. #include<stdio.h> #include <time.h> #include <sys/t ...

随机推荐

  1. 使用idea搭建Spring boot+jsp的简单web项目

    大家好: 这是我的第一篇博客文章,简单介绍一下Spring boot + jsp 的搭建流程,希望给跟我一样新接触Spring boot的读者一点儿启发. 开发工具:jdk1.8   idea2017 ...

  2. C++ 彩色图像(RGB)三通道直方图计算和绘制,图像逆时针旋转90° 实现代码

    #include "iostream" #include "opencv2/opencv.hpp" #include "vector" us ...

  3. 透明的UITableView

    // // ViewController.m // 透明table // // Created by LiuWei on 2018/4/23. // Copyright © 2018年 xxx. Al ...

  4. Java Web学习总结(6)Cookie/Session

    一.会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 二.会话过程中要解决的一些问题 每个用户在使用浏览器与服务器进行 ...

  5. 4412 Linux定时器

    一.Linux定时器基础知识 1.1 定时器的使用范围 延后执行某个操作,定时查询某个状态:前提是对时间要求不高的地方 1.2 内核时间概念 Hz:(系统时钟通过CONFIG_HZ来设置,范围是100 ...

  6. 【BZOJ3756】Pty的字符串(广义后缀自动机)

    题意: 思路:论文题 建立Trie树的后缀自动机需要换这个长的板子 #include<bits/stdc++.h> using namespace std; typedef long lo ...

  7. 使用C#登录带验证码的网站

    我在上一篇文章中已经讲解了一般网站的登录原来和C#的登录实现,很多人问到对于使用了验证码的网站该怎么办,这里我就讲讲验证码的原理和对应的登录方法.验证码的由来几年前,大部分网站.论坛之类的是没有验证码 ...

  8. LOJ 2304 「NOI2017」泳池——思路+DP+常系数线性齐次递推

    题目:https://loj.ac/problem/2304 看了各种题解…… \( dp[i][j] \) 表示有 i 列.第 j 行及以下默认合法,第 j+1 行至少有一个非法格子的概率,满足最大 ...

  9. 【靶场训练_DVWA】Command Execution

    low 利用: ;ls ../../ 源码分析: <?php if( isset( $_POST[ 'submit' ] ) ) { //将ip对应的值复制给target $target = $ ...

  10. [CSP-S模拟测试]:联(小清新线段树)

    题目描述 由于出题人懒所以没有背景.一个无限长的$01$序列,初始全为$0$,每次选择一个区间$[l,r]$进行操作,有三种操作:$\bullet 1\ l\ r$将$[l,r]$中所有元素变成$1$ ...