Здравствуйте, BaSergey, Вы писали:
SH>The return value is the input locale identifier for the thread. The low word contains a language identifier for the input language and the high word contains a device handle for the physical layout of the keyboard.
BS>GetKeyboardLayout действительно отслеживает изменения языка. Но GetLocaleInfo с его результатом работать отказывается. Вот, что я делаю для проверки:
BS>...
BS>
BS>Результат работы GetLocaleChar всегда равен "D". А если ему дать результат чего-нибудь типа GetThreadLocale — все нормально, но результат не тот, что хотелось — постоянно то, что прописано в панели управления. Мне же нужен конкретно тот разделитель, который действует непосредственно сейчас, для текущего языка ввода.
BS>Есть соображения?
Есть. Извини, сам проверить сейчас не могу, но, имхо что бы получить LCID из GetKeyboardLayout нужно делать так:
MAKELCID(LOWORD(GetKeyboardLayout(0)), SORT_DEFAULT);
И вот это уже передавать в первый параметр GetLocaleInfo.