The issue we are seeing isn't that unique, I hope.
First, some background: We are running a few applications with Process.Start(startInfo) under a different user account (that has higher privileges) from a C# application (shell launcher of sorts) which has started under a limited privileged user account, logged-in.
We are having issues with keyboard switching for different languages with Alt + Shift key combinations within the applications launched under higher privileges, out of process. While the original, launching application does not have any issues with switching keyboards, the launched applications don't have this ability.
We've added the language keyboards to the impersonated user profile and see no change, keyboard switch isn't available. We also added LoadUserProfile = true to the ProcessStartInfo parameters and still, language keyboard switching does not work. At this point, we need help to identify and fix this issue. Is this supported? If so, how do we launch an executable in a separate process under a different user account and give the user the ability to switch keyboards?
If this is just not supported in Windows when launching executables out-of-process, can this language switching ability be provided programmatically and how?