Помогите, плз.!
Задача такова:
Получить названия всех возможных кодовых страниц (CodePages) в том виде, как они представлены на третьей вкладке диалога региональных настроек и выбора языка в WinXP.
Те, что установлены — птичкой отмечены, те что нет, — соответственно, нет.
Получить номера страниц не проблема.
Либо EnumSystemCodePages использовать, либо прямо из реестра брать можно. (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage)
Проблема в том как получить имена кодовых страниц.
Использую следующий код.
//////////////
try
SetString(s, lpCodePageString, 99);
s:=Trim(s);
except
end;
GetCPInfoEx(StrToIntDef(s,-1),0, cpi);
SetString(s_nm,cpi.CodePageName,100);
s_nm:=Trim(s_nm);
lbCodePagesInstalledList.Items.Add(s_nm);
///////////////
lpCodePageString — номер CodePage'а (передается из EnumCodePagesProc — callback процедуры для EnumSystemCodePages )
Передается корректно.
Так вот, если CodePage установлена — все ОК.
В список заносится то, что требуется
А если нет, то имя CodePage не отдается.
Как его получить?