如何在Windows 10中可靠地调用屏幕键盘?

时间:2018-07-30 18:31:38

标签: c# winforms windows-10 on-screen-keyboard

我有一个全屏C#.NET应用程序,我需要能够调用屏幕键盘。 在Windows 7中,我使用了: Process.Start(C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe;

在Windows 10的较早版本中,我能够使用Process process = Process.Start(new ProcessStartInfo(((Environment.GetFolderPath(Environment.SpecialFolder.System) + @"\osk.exe"))));(这将获得System32位置并附加可执行文件名称。)

一直有效直到最近。

但是现在可执行文件位于C:\Windows\WinSxS\amd64_microsoft-windows-osk_31bf3856ad364e35_10.0.17134.1_none_903d5fc3c319176b\osk.exe中 所以我的问题是,是否有一种可靠的方法可以调用可在可预见的将来使用的屏幕键盘?

我也会对使用触摸键盘感兴趣,但这也很奇怪-C:\Windows\WinSxS\amd64_microsoft-windows-tabletpc-inputpanel_31bf3856ad364e35_10.0.17134.1_none_f70fa21de0acb308\TabTip.exe 第二个窗口进行更新,并且该版本在文件夹路径中更新,对该文件夹的静态引用变得毫无价值。

1 个答案:

答案 0 :(得分:0)

如果您的环境变量中有屏幕键盘(默认情况下存在),则此代码应该可以正常工作:

Process.Start("osk.exe");