Как получить язык ОС, используя C ++ API? - PullRequest
3 голосов
/ 28 января 2010

Я нахожусь в процессе разработки приложения, которое отображает диалоги в зависимости от языка ОС. Как я могу получить язык ОС, используя C ++ или Windows API (Windows 2008 / Vista / 7)?

Ответы [ 3 ]

4 голосов
/ 28 января 2010

В Windows есть несколько функций, в зависимости от того, в каком формате вы хотите получить информацию. До Windows Vista информация о языке была закодирована в LCID (Locale Id), который включает язык, а также некоторую информацию о сортировка и форматирование.

Для Windows Vista и Windows 7 была разработана более гибкая система под названием Locale Names. GetSystemDefaultLocaleName

Используйте это, если вы хотите работать на Win2k и WinXP. GetSystemDefaultLCID

2 голосов
/ 20 февраля 2015

Принятый ответ на этот вопрос неверен. Вы должны , а не принимать решения по пользовательскому интерфейсу на основе локали по умолчанию. Для этого используйте GetDefaultUILanguage.

1 голос
/ 18 июня 2010

Вы решаете эту проблему?
Если ответ Нет,
LPWSTR lpLocalName=NULL неверно.
LPWSTR lpLocalName=NULL ----> WCHAR localName[LOCALE_NAME_MAX_LENGTH] верно. Потому что Нет выделения памяти в GetUserDefaultLocalName.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...