#windows #cpp
Система windows server 2008 rc2 Вызовы setlocale(LC_ALL,"Rus"); setlocale( LC_ALL, "ru_RU.CP1251" ); std::system("chcp 1251"); не прокатывают Функция GetACP() (из winnls.h) возвращает 1252, а должна 1251. Если вручную изменить язык системы Панель управления - Часы, язык и регион - язык и региональные стандарты - дополнительно - язык программ не поддерживающих юникод. на русский то GetACP() возвращает 1251. Есть ли возможность это сделать? Можно ли это сделать без подключения не стандартных библиотек?
Ответы
Ответ 1
Changing Non-Unicode programmatically to Russian. Вам нужна ф-ция NtSetDefaultLocale. Из доступного пользователю интерфейса библиотек Windows наиболее подходит SetLocaleInfo, но по описанию она слишком слабовата будет для Вашей задачи =( P.S. Нашел! Попробуйте SystemParametersInfo с SPI_SETDEFAULTINPUTLANG. Никогда бы не догадался!!!
Комментариев нет:
Отправить комментарий