バックグラウンドで実行され、ユーザーがホットキーを使用してアクティブなウィンドウのキーボード レイアウトを切り替えることができるプログラムを C# で作成しています。(Windows はCTRL+SHIFTとALT+のみをサポートしますSHIFT)
ホットキーをキャッチするために RegisterHotKey を使用していますが、問題なく動作しています。
問題は、フォーカスされたウィンドウのキーボード レイアウトを変更する API が見つからないことです。
ActivateKeyboardLayout と LoadKeyboardLayout は、呼び出しスレッドのキーボード レイアウトのみを変更できます。
別のスレッドのキーボード レイアウトを変更する方法を知っている人はいますか (言語バーのように)。