delphi如何获得当前操作系统语言环境 |
答題得分者是:hagar
|
piaolingfeihu
一般會員 發表:7 回覆:12 積分:3 註冊:2007-06-07 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
使用 GetLocaleInfo 試試, 參考:
http://www.swissdelphicenter.ch/torry/showcode.php?id=320 <textarea class="delphi" rows="10" cols="60" name="code">
function GetWindowsLanguage: string;
var
WinLanguage: array [0..50] of char;
begin
VerLanguageName(GetSystemDefaultLangID, WinLanguage, 50);
Result := StrPas(WinLanguage);
end; procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(GetWindowsLanguage);
end; {********************************************************************}
{ another code:
{********************************************************************} function GetWindowsLanguage(LCTYPE: LCTYPE {type of information}): string;
var
Buffer : PChar;
Size : integer;
begin
Size := GetLocaleInfo (LOCALE_USER_DEFAULT, LCType, nil, 0);
GetMem(Buffer, Size);
try
GetLocaleInfo (LOCALE_USER_DEFAULT, LCTYPE, Buffer, Size);
Result := string(Buffer);
finally
FreeMem(Buffer);
end;
end; procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := GetWindowsLanguage(LOCALE_SABBREVLANGNAME);
(*
LOCALE_ILANGUAGE { language id }
LOCALE_SLANGUAGE { localized name of language }
LOCALE_SENGLANGUAGE { English name of language }
LOCALE_SABBREVLANGNAME { abbreviated language name }
LOCALE_SNATIVELANGNAME { native name of language }
*)
end; </textarea>
|
piaolingfeihu
一般會員 發表:7 回覆:12 積分:3 註冊:2007-06-07 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
piaolingfeihu
一般會員 發表:7 回覆:12 積分:3 註冊:2007-06-07 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
piaolingfeihu
一般會員 發表:7 回覆:12 積分:3 註冊:2007-06-07 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |