1 #include "windows.h"
2 #include "stdio.h"
3
4 #define BUFFER_SIZE 512
MyFuncLocaleEx(LPWSTR pStr,DWORD dwFlags,LPARAM lparam)5 BOOL CALLBACK MyFuncLocaleEx(LPWSTR pStr, DWORD dwFlags, LPARAM lparam) {
6 WCHAR wcBuffer[BUFFER_SIZE];
7 int bufferSize;
8
9 bufferSize = GetLocaleInfoEx(pStr, LOCALE_SENGLANGUAGE, wcBuffer, BUFFER_SIZE);
10 if (bufferSize == 0) {
11 wprintf(L"Locale %s had error %d\n", pStr, GetLastError());
12 return (TRUE);
13 }
14
15 LCID lcid = LocaleNameToLCID(pStr, NULL);
16 if (lcid == 0) {
17 wprintf(L"Error %d getting LCID\n", GetLastError());
18 return (TRUE);
19 }
20
21 if (lcid > 0x8000) {
22 wprintf(L"//");
23 }
24 wprintf(L" { 0x%.4x, \"%s\" }, //%s\n", lcid, pStr, wcBuffer);
25
26 return (TRUE);
27 }
28
main(int argc,wchar_t * argv[])29 int main(int argc, wchar_t* argv[]) {
30 EnumSystemLocalesEx(MyFuncLocaleEx, LOCALE_ALL, NULL, NULL);
31 }
32