Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Через 3 дня :

День славянской письменности и культуры


GetCPInfoEx


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
mdaii
Гость







СообщениеПн, 22-Май-2006 12:44    Заголовок сообщения: GetCPInfoEx
Цитата

Помогите, плз.!

Задача такова:
Получить названия всех возможных кодовых страниц (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 не отдается.
Как его получить?
В начало
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100