Я пытаюсь выяснить, как можно получить настройку «регионального формата» на Windows 10 (см. Рисунок ниже).
Я пробовал GetLocaleInfoEx
, практически со всеми комбинациями параметров, но этот нигде не обнаружился.
С другой стороны, этот параметр влияет на то, что возвращает GetThreadLocale
:
Некоторые примеры с ожидаемыми значениями возврата от GetThreadLocale
согласно эта документация Microsoft , код C ++ в конце вопроса.
+--------------------------+-----------------------------------+
| Regional format | Value returned by GetThreadLocale |
+--------------------------+-----------------------------------+
| French (Switzerland) | 0x100c |
| French (France) | 0x040c |
| German (Germany) | 0x0407 |
| English (United states) | 0x0409 |
| English (United Kingdom) | 0x0809 |
+--------------------------+-----------------------------------+
Некоторые примеры неожиданных (и недокументированных) возвращаемых значений из GetThreadLocale
:
+-----------------------+-----------------------------------+
| Regional format | Value returned by GetThreadLocale |
+-----------------------+-----------------------------------+
| English (Switzerland) | 0x0c00 |
| English (Germany) | 0x0c00 |
| German (Italy) | 0x0c00 |
+-----------------------+-----------------------------------+
Мне действительно интересно, что это 0x0c00
значение, возвращаемое GetThreadLocale
? *
#include <windows.h>
#include <stdio.h>
int main()
{
printf("GetThreadLocale: %08x\n", GetThreadLocale());
}