I have a fullscreen C# .NET application I need to be able to call the On-Screen-Keyboard.
In Windows 7, I used:
Process.Start(C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe;
With older builds of Windows 10, I was able to use Process process = Process.Start(new ProcessStartInfo(((Environment.GetFolderPath(Environment.SpecialFolder.System) + @"\osk.exe"))));
(This gets the System32 location and appends the executable name.)
That worked until recently.
However now the executable is in C:\Windows\WinSxS\amd64_microsoft-windows-osk_31bf3856ad364e35_10.0.17134.1_none_903d5fc3c319176b\osk.exe
So my question is, is there a reliable way to call the on-screen-keyboard that will work for the foreseeable future?
Also I'd be interested in using the touch keyboard but that's also in an odd location- C:\Windows\WinSxS\amd64_microsoft-windows-tabletpc-inputpanel_31bf3856ad364e35_10.0.17134.1_none_f70fa21de0acb308\TabTip.exe
The second windows does an update and that version updates in the folder path, a static reference to the folder becomes worthless.