DELPHI开发一个多语言版的工具,怎么自动检测操作系统的语种?

解决方案 »

  1.   

    Windows API
    int GetLocaleInfo(    LCID Locale, // locale identifier 
        LCTYPE LCType, // type of information 
        LPTSTR lpLCData, // address of buffer for information 
        int cchData  // size of buffer 
       );
    可以用来获得系统信息比如系统语言, 
     
    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_ILANGUAGE { 语言代号 } 
    LOCALE_SLANGUAGE { 本地语言名称 } 
    LOCALE_SENGLANGUAGE { 语言的英语名 } 
    LOCALE_SABBREVLANGNAME { 语言名称缩写 } 
    LOCALE_SNATIVELANGNAME { 本地语言名称 }