Я пытаюсь выяснить, как можно получить параметр «региональный формат» в 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
?
Код C++
#include <windows.h>
#include <stdio.h>
int main()
{
printf("GetThreadLocale: %08x\n", GetThreadLocale());
}