Можно ли получить слово cadidates из встроенного IME Windows? - PullRequest
0 голосов
/ 28 января 2020

Windows 10 имеет сенсорную клавиатуру, которую можно активировать, щелкнув правой кнопкой мыши панель задач и выберите «Показать кнопку сенсорной клавиатуры», а затем щелкните значок клавиатуры. Ниже приведен снимок экрана ввода текста в блокноте с помощью встроенной сенсорной клавиатуры Engli sh, встроенной в Windows 10. Он показывает кандидатов на завершение слов при наборе текста (я набрал только «а», а «я»).

Могу ли я программно получить кандидатов на завершение, когда сенсорная клавиатура не видна? То, что я хотел бы сделать, это показать раскрывающееся меню автоматического завершения (например, то, которое вы видите в Visual Studio) с этими кандидатами, и когда пользователь нажимает на вкладку, введите выбранного кандидата. Интересно, Microsoft предоставляет какой-то API для получения текстовых кандидатов, например,

GetTextCandidate("I a");
returns: {"am", "also", "agree", "already",...}

enter image description here

1 Ответ

0 голосов
/ 29 января 2020

Существует IMM API: ImmGetCandidateList.

Вы можете сослаться на соответствующий официальный образец: Windows -classi c -Samples / Samples / Win7Samples / winui / input / ime .

Дополнительные ссылки: О менеджере метода ввода и Списки кандидатов .

...