Не удалось получить входной контекст IME через C ++ (ImmGetContext) - PullRequest
2 голосов
/ 18 марта 2010

Привет. Я пытаюсь отключить IME в блокноте, используя следующий код псевдо:

MakeNotepadActiveWindow();//Notepad is already open and set to Japanese IME

HWND hwnd = GetTheHWNDForNotepad();

HIMC context = ImmGetContext(hwnd);
if(context == NULL)
printf("context is null %d ",GetLastError());

и приведенный выше код всегда дает мне нулевой контекст. GetLastError () дает 0;

Может кто-нибудь сказать мне, как получить InputContext

1 Ответ

1 голос
/ 26 марта 2010

На случай, если кто-то столкнется с подобной проблемой

  • Вы не можете получить входной контекст для окна, если не владеете им.
  • Так что вам нужно вызвать ImmGetInputContext (hwnd), выполнив код в процессе этого окна.
...