Народ, помогите советом по такой проблеме:
Мне нужно выцеплять Unicode коды символов, которые юзер набирает с клавы. Для примера, с агнглийским/русским все хорошо, по WM_CHAR в Unicode-window мне сваливаются правильные значения (проверял, все верно). Вот с корейским — проблема: при наборе любого иероглифа приходит мне вместо полноценного Unicode всего лишь 1 значение — 0x3f, причом для любого иероглифа. Окей. Пробую получить нужный результат через IME, в итоге, после всех инициализаций и прочих телодвижений, при сообшении WM_IME_COMPOSITION, ImmGetCompositionString стыдливо возвращает мне тот же 0x3f...
Может у кого есть какие-то идеи в чем проблема? Два разных (почти ) интерфейса возвращают одно и то-же... Я уже и setlocale(LC_ALL, "Korean") ему делал и для IME корейский уснанавливал текущим языком и с ASCII/UNICODE окнами пробовал — ничего не помогает... Если что, могу поточнее описать, что я делаю и выслать исходники (MSCV++ 6.0) на посмотреть, где я не прав...
03.07.03 20:58: Перенесено модератором из 'C/C++' — ПК
Вроде бы, все Окей, уже сделал (завтра точно оттещу).

Но все-же, если у кого есть готовый код, можем поменятсья, обмен опытом, так сказать... А то у меня как-то громоздко и коряво все получилось...
Здравствуйте, Pepper, Вы писали:
P>Вроде бы, все Окей, уже сделал (завтра точно оттещу).
Но все-же, если у кого есть готовый код, можем поменятсья, обмен опытом, так сказать... А то у меня как-то громоздко и коряво все получилось...
А что ты сделал? У меня с сообщениями WM_IME_CHAR/WM_CHAR нормально приходят юникодные символы. (Правда, проект тоже юникоднный).
Здравствуйте, Дмитро, Вы писали:
Д>Здравствуйте, Pepper, Вы писали:
P>>Вроде бы, все Окей, уже сделал (завтра точно оттещу).
Но все-же, если у кого есть готовый код, можем поменятсья, обмен опытом, так сказать... А то у меня как-то громоздко и коряво все получилось...
Д>А что ты сделал? У меня с сообщениями WM_IME_CHAR/WM_CHAR нормально приходят юникодные символы. (Правда, проект тоже юникоднный).
Ну у меня окно тоже юникодное было (проверял через IsWindowUnicode), но WM_CHAR работает нормально для всех языков, исключая те, в которых IME для ввода используется...

WM_IME_CHAR выдает 0x3f, хоть стреляйсь.
Я отрабатывал WM_IME_COMPOSITION, юзал ImmGetContext, ImmAssociateContext, ImmGetCompositionString и т.п.... Вроде бы все окей, выдает те же коды, что и в Word-е, при сохраненни документа как "Unicode text"...