Как вызвать экранную клавиатуру с помощью C ++ в планшетных устройствах Windows 7? - PullRequest
1 голос
/ 09 февраля 2011

Я занимаюсь разработкой приложения для устройств Windows 7 и использую встроенный веб-браузер (webkit).Обычно прикосновение к элементу редактирования на планшетном ПК приводит к появлению небольшого значка клавиатуры.Однако, так как мой элемент управления редактированием находится в браузере, это не настоящее окно с hwnd, и Window не отображает значок, по которому можно щелкнуть, чтобы вызвать экранную клавиатуру.

Есть ли APIЯ могу использовать, чтобы маленький значок клавиатуры появлялся, как обычно, когда фокус переходит к элементу управления редактированием?

  • Я пытался выполнить поиск в MSDN, но безуспешно.
  • Я посмотрел наAPI клавиатуры Windows.Без кубиков.
  • Я попытался запустить OSK.exe.Это может вызвать несколько экземпляров клавиатуры, и это просто небрежно.Я хочу получить тот же эффект, который получит пользователь при нажатии элемента управления редактирования Windows, чтобы пользовательский интерфейс был согласованным.

Должен быть API, который может отображать это на экранной клавиатуре.

Спасибо.

Дэвид

1 Ответ

0 голосов
/ 04 августа 2011

Не уверен, что вы уже ответили.Я пытался сделать подобное, хотя это часть более крупного приложения, и клавиатура используется редко (но, тем не менее, должна была поддерживаться).Я назначил комбинацию клавиш (щелкните правой кнопкой мыши Win 7 в приложении на экранной клавиатуре и выберите «Свойства». На вкладке «Ярлыки» назначьте любой ярлык).Когда я касаюсь элемента управления SurfaceTextEdit, я эмулирую комбинацию клавиш из своего кода C ++ с помощью SendInput ().Я знаю, что это хак, но у меня это сработало, потому что я редко использовал экранную клавиатуру в своем приложении.

...