Как я могу программно манипулировать экранной клавиатурой Windows 7 osk: Move, Resize, Remove Titlebar / Caption - PullRequest
4 голосов
/ 10 апреля 2011

Я работаю над приложением WPF, в котором я хочу отображать встроенную в Windows 7 экранную клавиатуру в режиме «всегда рядом».Поэтому я хочу:

  1. Переместить его в определенное место

  2. Установить его на определенную ширину и высоту

  3. Удалите заголовок / заголовок, чтобы пользователь не мог переместить его или закрыть его

  4. Удалите эту способность, чтобы изменить ее размер (или любые другие пользовательские настройки в этом отношении).

Я перепробовал все типичные функции API (MoveWindow, SetWindowPos, SetWindowLong и т. Д.), Но он отказывается что-либо делать.В настоящее время код работает со всеми другими процессами и приложениями (такими как Internet Explorer и командная строка);это почти как если бы вызовы API не относились к osk или что он «заблокирован».Что мне не хватает?Заранее спасибо.

1 Ответ

4 голосов
/ 10 апреля 2011

Я проверил с помощью Spy ++, и экранная клавиатура использует что-то под названием "DirectUIHWND".Возможно, вы захотите взглянуть на API DirectUIHWND.

Возможно, полезная ссылка:

Кроме того, некоторые люди предупреждают, что DirectUI без документов .

...