Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить, что винда русифицирована?


@ac ©   (2004-02-19 08:01:00) 

Как определить, что винда русифицирована?


DVM   (2004-02-22 19:07:00) [1]


> А это какая библиотека?

kernel32.dll


@ac   (2004-02-22 08:02:00) [2]

GetSystemDefaultUILanguage
А это какая библиотека?


Игорь Шевченко   (2004-02-19 10:44:00) [3]

GetSystemDefaultUILanguage для Win2k и выше.

или


function TOSData.GetOSLanguage: String;
var
 SystemLocale : String;
begin
 SystemLocale := '';
 with TRegistry.Create(KEY_READ) do
   try
     RootKey:=HKEY_LOCAL_MACHINE;
     if OpenKey('SYSTEM\CurrentControlSet\Control\Nls\Language',
         false) then begin
       if ValueExists('InstallLanguage') then
         SystemLocale := ReadString('InstallLanguage')
       else
         SystemLocale := ReadString('Default');
       CloseKey();
     end;
   finally
     Free();
   end;
 Result := HSGetLocaleLanguageName(SystemLocale);
end;

{ Для определения языка в NT-системах предпочтительней вызывать Unicode-версию
 GetLocaleInfo }
function HSGetLocaleLanguageName (Locale : Cardinal) : String;
var
 tmp : array[0..255] of char;
 tmpW : array[0..255] of WideChar;
begin
 if Win32Platform = VER_PLATFORM_WIN32_NT then begin
   GetLocaleInfoW(Locale, LOCALE_SLANGUAGE, tmpW, SizeOf(tmpW));
   Result := WideCharToString(tmpW);
 end else begin
   GetLocaleInfo(Locale, LOCALE_SLANGUAGE, tmp, SizeOf(tmp));
   Result := tmp;
 end;
end;

function HSGetLocaleLanguageName (SLocale : String) : String;
var
 I : Integer;
 Locale : Cardinal;
begin
 Locale := 0;
 for I:=1 to 4 do
   Locale := (Locale shl 4) + Cardinal(Byte(SLocale[I]) - $30);
 Result := HSGetLocaleLanguageName (Locale);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо