Список доступных кодировок для MultiByteToWideChar
От: Aniskin  
Дата: 02.02.18 08:46
Оценка:
Как получить subj?

В реестре есть ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage — это оно? И даже если оно, то как то нелегально выглядит прямое чтение реестра. Пробовал перечислять через IMultiLanguage.EnumCodePages, но возвращаемый список меньше, чем в реестре.
Re: Список доступных кодировок для MultiByteToWideChar
От: Dambo Россия  
Дата: 02.02.18 09:14
Оценка:
Здравствуйте, Aniskin, Вы писали:

A>Как получить subj?


A>В реестре есть ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage — это оно? И даже если оно, то как то нелегально выглядит прямое чтение реестра. Пробовал перечислять через IMultiLanguage.EnumCodePages, но возвращаемый список меньше, чем в реестре.


https://msdn.microsoft.com/ru-ru/library/windows/desktop/dd317756(v=vs.85).aspx
Re[2]: Список доступных кодировок для MultiByteToWideChar
От: Aniskin  
Дата: 02.02.18 09:29
Оценка:
Здравствуйте, Dambo, Вы писали:

Там же:

> ANSI code pages can be different on different computers, or can be changed for a single computer, leading to data corruption.


Мне нужно получить список, актуальный для конкретной системы.
Re[3]: Список доступных кодировок для MultiByteToWideChar
От: Carc Россия https://vk.com/gosha_mazov
Дата: 02.02.18 10:06
Оценка:
Здравствуйте, Aniskin, Вы писали:


A>Мне нужно получить список, актуальный для конкретной системы.

Я читаю из реестра. Вроде бы нареканий пользователей нет, ругани системы вроде тоже. Ну соответственно, открываем только реестр с минимальными правами на чтение.
Aml Pages Home
Re[4]: Список доступных кодировок для MultiByteToWideChar
От: Aniskin  
Дата: 02.02.18 10:14
Оценка:
Здравствуйте, Carc, Вы писали:

C>Я читаю из реестра.


Из HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage ?
Re[5]: Список доступных кодировок для MultiByteToWideChar
От: Carc Россия https://vk.com/gosha_mazov
Дата: 02.02.18 10:20
Оценка:
Здравствуйте, Aniskin, Вы писали:

A>Здравствуйте, Carc, Вы писали:


C>>Я читаю из реестра.


A>Из HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage ?

Не.
Мне не столько список нужен, его я могу по GetKeyboardLayoutList получить, сколько нужно человеческое название кодировки. Вот его я и таскаю из реестра.
Aml Pages Home
Re[6]: Список доступных кодировок для MultiByteToWideChar
От: Aniskin  
Дата: 02.02.18 10:29
Оценка:
Здравствуйте, Carc, Вы писали:

C>Мне не столько список нужен, его я могу по GetKeyboardLayoutList получить


У меня такое ощущение, что мы говорим о разных вещах.

C>Вот его я и таскаю из реестра.


А ветка то какая?
Re: Список доступных кодировок для MultiByteToWideChar
От: Maniacal Россия  
Дата: 02.02.18 10:30
Оценка: 12 (2)
Здравствуйте, Aniskin, Вы писали:

A>Как получить subj?


A>В реестре есть ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage — это оно? И даже если оно, то как то нелегально выглядит прямое чтение реестра. Пробовал перечислять через IMultiLanguage.EnumCodePages, но возвращаемый список меньше, чем в реестре.


Думаю, подойдут функции EnumSystemCodePages/EnumCodePagesProc

Сам раньше не использовал, сейчас глянул — возвращает строку с номером кодовой страницы. С помощью флагов можно выбрать получить весь список или только список установленных в системе кодировок.
Отредактировано 02.02.2018 11:18 Maniacal . Предыдущая версия .
Re[7]: Список доступных кодировок для MultiByteToWideChar
От: Carc Россия https://vk.com/gosha_mazov
Дата: 02.02.18 11:35
Оценка:
Здравствуйте, Aniskin, Вы писали:

C>>Вот его я и таскаю из реестра.

A>А ветка то какая?

HKLM\System\\CurrentControlSet\\Control\\Keyboard Layouts\\
Aml Pages Home
Re[2]: Список доступных кодировок для MultiByteToWideChar
От: Aniskin  
Дата: 03.02.18 01:01
Оценка:
Здравствуйте, Maniacal, Вы писали:

M>Думаю, подойдут функции EnumSystemCodePages/EnumCodePagesProc


То, что надо. Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.