Отключить виртуальную клавиатуру в режиме планшета Windows 10 для одного приложения
Мы написали приложение для сенсорных устройств на C#/WPF и уже внедрили собственную виртуальную клавиатуру. Начиная с windows 10-летия (или ранее) у нас проблемы с устройствами в "режиме планшета". OSK по умолчанию открывается всякий раз, когда фокусируется поле ввода.
Итак, вопрос: возможно ли отключить встроенный OSK внутри нашего приложения? Если нет, возможно ли отключить OSK для ПРОСТОГО НАШЕГО ПРИМЕНЕНИЯ через реестр или настройки?
2 ответа
У меня была точно такая же проблема. Основываясь на этой теме, мне удалось отключить автоматический вызов клавиатуры (TabTip.exe) путем переопределения OnCreateAutomationPeer
метод TextBox
:
class MyTextBox : TextBox
{
protected override AutomationPeer OnCreateAutomationPeer()
{
return new FrameworkElementAutomationPeer(this);
}
}
Как указано (и объяснено) в комментариях, нет возможности отключить OSK только для одного приложения. Мы решили проблему, отключив услугу "Сенсорная клавиатура и панель рукописного ввода". В настоящее время это, кажется, единственное решение, хотя я не полностью удовлетворен. Это - по крайней мере в нашем случае - приемлемый обходной путь для планшетов и кабриолетов.