GetThreadLocale zwraca inną wartość niż GetUserDefaultLCID?

Aby uzyskać ustawienia regionalne, np. krótki format daty, zawsze używaliśmy GetLocaleFormatSettings z GetThreadLocale. To do tej pory zawsze działało bez problemu.

Kilku naszych użytkowników otrzymuje różne wartości GetThreadLocale, które nie pasują do tego, co skonfigurowali w ustawieniach regionalnych w systemie Windows 7. Nie byliśmy w stanie odtworzyć tego bez względu na to, co spróbujemy, ale wysłałem jednemu użytkownikowi test program, aby uzyskać informacje o ustawieniach regionalnych, i na pewno GetThreadLocale zwraca inny LCID (1033) niż GetUserDefaultLCID (2057). Zamiast ustawiać ustawienia regionalne w Wielkiej Brytanii, kończą się na ustawieniach regionalnych US.

Czy niepoprawnie otrzymujemy informacje o lokalizacji? Czy powinniśmy używać GetUserDefaultLCID zamiast GetThreadLocale?

Dzięki

questionAnswers(5)

yourAnswerToTheQuestion