如題

解决方案 »

  1.   

    var
      pLCData: array [0..255] of Char;
      I: Integer;
    begin
      ZeroMemory(@pLCData, SizeOf(plCData));
      I := Windows.GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,
        LOCALE_SLANGUAGE, pLCData, SizeOf(pLCData));
      ShowMessage(strpas(pLCData));
    end;
      

  2.   

    不过最好是使用
    GetSystemDefaultLangID
    得到的结果是WORD值,高字节表示语系,比如中文就是$08,低字节就是子语言,比如简体中文$04
    所以简体中文就是$0804
      

  3.   

    不好意思,写反了,应该是低字节表示主语系,高字节表示子语言
    常用的有:
    $0804 中文(中国)
    $0404 中文(台湾)
    $0411 日本语
    $0412 朝鲜语
    $0409 英语(美国)通常系统当中分两个部分设置一个是UserDefault一个是SystemDefault,相对Win2k以上系统而言,改变UserDefault只会影响资源管理器及桌面等的设置,不会影响到用户应用程序(最新Windows系统除外),只有SystemDefault才影响除资源管理器及桌面等以外的用户应用程序.