我有一个全屏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
第二个窗口进行更新,并且该版本在文件夹路径中更新,对该文件夹的静态引用变得毫无价值。
答案 0 :(得分:0)
如果您的环境变量中有屏幕键盘(默认情况下存在),则此代码应该可以正常工作:
Process.Start("osk.exe");