title: Change Keyboard Layout for Other Process
body: <p>I'm writing a program in C# that runs in the background and allows users to use a hotkey to switch keyboard layouts in the active window.  (Windows only supports <kbd>CTRL</kbd>+<kbd>SHIFT</kbd> and <kbd>ALT</kbd>+<kbd>SHIFT</kbd>)</p>
  
  <p>I'm using RegisterHotKey to catch the hotkey, and it's working fine.</p>
  
  <p>The problem is that I can't find any API to change the keyboard layout for the focused window.</p>
  
  <p>ActivateKeyboardLayout and LoadKeyboardLayout  can only change the keyboard layout for the calling thread.</p>
  
  <p>Does anyone know how to change the keyboard layout for a different thread (the way the Language Bar does)?</p>