Per ottenere le impostazioni locali, ad es. formato di breve data, abbiamo sempre utilizzato GetLocaleFormatSettings con GetThreadLocale. Questo ha sempre funzionato senza problemi fino ad ora.GetThreadLocale restituisce un valore diverso da GetUserDefaultLCID?
Un paio dei nostri utenti sono sempre valori diversi per GetThreadLocale che non corrispondono a quello che hanno configurato nelle impostazioni internazionali di Windows 7. Siamo stati in grado di riprodurre questo non importa quello che cerchiamo, ma ho mandato un utente un programma di test per ottenere le informazioni sulla locale, e in modo sicuro GetThreadLocale restituisce un LCID diverso (1033) rispetto a GetUserDefaultLCID (2057). Quindi, invece di ottenere le impostazioni internazionali del Regno Unito, finiscono con le impostazioni internazionali degli Stati Uniti.
Stiamo ottenendo le informazioni locali in modo errato? Dovremmo utilizzare GetUserDefaultLCID anziché GetThreadLocale?
Grazie
Stai effettivamente utilizzando più thread o stai semplicemente chiamando GetThreadLocale dal thread principale? –