Чтобы получить настройки языкового стандарта, например. короткий формат даты, мы всегда использовали GetLocaleFormatSettings с GetThreadLocale. Это всегда работало без проблем до сих пор.
Несколько наших пользователей получают разные значения для GetThreadLocale, которые не соответствуют тем, что они настроили в региональных настройках в Windows 7. Мы не смогли воспроизвести это независимо от того, что мы пытаемся, но я отправил один пользователь тестовой программы, чтобы получить информацию о локали, и, конечно же, GetThreadLocale возвращает другой идентификатор LCID (1033), чем GetUserDefaultLCID (2057). Таким образом, вместо того, чтобы получать настройки языка в Великобритании, они заканчиваются настройками локали в США.
Правильно ли мы получаем локальную информацию? Должны ли мы использовать GetUserDefaultLCID вместо GetThreadLocale?
Спасибо