В реестре есть ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage — это оно? И даже если оно, то как то нелегально выглядит прямое чтение реестра. Пробовал перечислять через IMultiLanguage.EnumCodePages, но возвращаемый список меньше, чем в реестре.
Re: Список доступных кодировок для MultiByteToWideChar
Здравствуйте, Aniskin, Вы писали:
A>Как получить subj?
A>В реестре есть ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage — это оно? И даже если оно, то как то нелегально выглядит прямое чтение реестра. Пробовал перечислять через IMultiLanguage.EnumCodePages, но возвращаемый список меньше, чем в реестре.
A>Мне нужно получить список, актуальный для конкретной системы.
Я читаю из реестра. Вроде бы нареканий пользователей нет, ругани системы вроде тоже. Ну соответственно, открываем только реестр с минимальными правами на чтение.
Здравствуйте, Aniskin, Вы писали:
A>Здравствуйте, Carc, Вы писали:
C>>Я читаю из реестра.
A>Из HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage ?
Не.
Мне не столько список нужен, его я могу по GetKeyboardLayoutList получить, сколько нужно человеческое название кодировки. Вот его я и таскаю из реестра.
Здравствуйте, Aniskin, Вы писали:
A>Как получить subj?
A>В реестре есть ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage — это оно? И даже если оно, то как то нелегально выглядит прямое чтение реестра. Пробовал перечислять через IMultiLanguage.EnumCodePages, но возвращаемый список меньше, чем в реестре.
Думаю, подойдут функции EnumSystemCodePages/EnumCodePagesProc
Сам раньше не использовал, сейчас глянул — возвращает строку с номером кодовой страницы. С помощью флагов можно выбрать получить весь список или только список установленных в системе кодировок.