This function sets the input locale identifier, formerly called the keyboard layout handle, for the system. The input locale identifier specifies a locale as well as the physical layout of the keyboard.
The return value is of type HKL. If the function succeeds, the return value is the previous input locale identifier. Otherwise, it is zero.
To obtain extended error information, call the GetLastError function.
This function is not restricted to keyboard layouts. The hkl parameter is actually an input locale identifier, because it can also encompass a speech-to-text converter, an IME, or any other form of input. Several input locale identifiers can be loaded at any one time, but only one is active at a time.