如何触发或禁止显示Windows虚拟键盘

时间:2011-07-29 09:51:39

标签: c# .net wpf .net-4.0

在WPF中,我有一个登录屏幕,其中包含用户名的文本框和密码的密码框。理想情况下,我需要阻止屏幕键盘显示,这样我就可以在应用程序中的完美位置使用自定义键盘。如果不这样做,我需要以某种方式强制屏幕键盘显示密码框。

我发现Microsoft.Ink.TextInput.TextInputPanel似乎在.net 3.5中具有大部分此功能,但我找不到.net 4.0中的等效功能

P.S。其他表单上的任何文本框都需要正常工作,同一平板电脑上的其他应用程序理想情况下也应该不受影响,所以我对使用注册表项来压制TIP感到不舒服。

1 个答案:

答案 0 :(得分:0)

您无法从.Net托管代码显示/隐藏虚拟键盘。但是,由于虚拟键盘只是一个标准的Windows应用程序,您可以通过启动相应的过程来显示/隐藏它。

var virtualKeyboard = new System.Diagnostics.Process();
virtualKeyboard = System.Diagnostics.Process.Start("osk.exe"); // open
virtualKeyboard.Kill(); // close