如何禁用所有 WPF 应用程序的虚拟键盘?

Posted

技术标签:

【中文标题】如何禁用所有 WPF 应用程序的虚拟键盘?【英文标题】:How can I disable the virtual keyboard for all my WPF apps? 【发布时间】:2012-02-22 10:11:44 【问题描述】:

我看到了为当前控件执行此操作的方法,但我需要为所有应用程序执行此操作。我有触摸屏,当我从显示的 Windows 7 中单击一些文本框虚拟键盘时。我不需要它,因为我在程序中拥有自己的键盘。

请帮忙。

谢谢。

【问题讨论】:

你能禁用整个操作系统的虚拟键盘吗?还是希望在不使用应用程序时显示虚拟键盘? 我想在我的应用程序中禁用 Windows 7 的虚拟键盘 【参考方案1】:

不确定您是否在该问题在线的几个月内得到了答案,但这对我有用。

首先,您需要一个对 Microsoft.Ink.dll 的引用。

var handle = new WindowInteropHelper(this).Handle;
TextInputPanel panel = new TextInputPanel(handle);
panel.InPlaceVisibleOnFocus = false;

第一行获取应用程序窗口的句柄,然后您只需创建 TextInputPanel 对象并将其 InPlaceVisibleFocus 设置为 false。触摸文本框时将不再显示提示图标。

【讨论】:

适用于 .NET Framework 3.5。 .NET 4.5 呢?

以上是关于如何禁用所有 WPF 应用程序的虚拟键盘?的主要内容,如果未能解决你的问题,请参考以下文章

WPF 禁用TextBox的触摸后自动弹出虚拟键盘

WPF虚拟键盘如何不获得当前焦点

Delphi XE6 Firemonkey Mobile - 如何禁用虚拟键盘?

wpf 虚拟键盘在安装过程中不起作用

WPF 应用程序的虚拟触控键盘

[分享]WPF 虚拟键盘