We're creating a control panel applet which adds new keyboard languages to the local system. After reading this article I realized we should use LoadKeyboardLayout
function. But it's mentioned in the documentation that:
Prior to Windows 8: This function only affects the layout for the current process or thread.
Beginning in Windows 8: This function affects the layout for the entire system.
Since we need this change to be system wide and we need to support Windows XP SP3 (we are using .NET 4.0), it seems we can't use that function.
What's the alternative that works well in Windows XP SP3 up to Windows 8.1? (preferably including server versions)