>>343
>>282ですが、私の環境でもテストしたところ、ほとんどのアプリでは単純なPostMessageで変更できましたが、秀丸と一部のアプリでは無反応でした
>>310氏が秀丸でも変更できている理由はわかりませんが、当初の予想通り一部のウィンドウではIMEと干渉してWM_INPUTLANGCHANGEREQUESTを受け付けないようです

また、秀丸ではエディタ部分にフォーカスがある場合、メッセージを受け付けないようです
しかしながら、若干裏技的な方法ですが、一旦別の場所にフォーカスを移した上でWM_INPUTLANGCHANGEREQUESTをIMEに送ることで変更できるようです
その他のアプリではIMEに送るだけで変更できました

他の環境でも使えるかは分かりませんが、とりあえず下記URLのコードで秀丸と変更できなかった他のアプリでも変更できるようになったので置いておきます

v2 入力ロケール変更関数
https://pastebin.com/DBihMzQU


以下追記、スクリプトと書き込みタイミングが被るのが嫌だったので待ってる間に検証、考察したこと
私の環境はGoogleIME、MS-IME、ENGですので、もしかすると日本語IMEが2つ以上かMS-IME以外が入っていると干渉が起こるのかもしれません

アプリが32/64bitのどちらであるかは関係ないようです
参考までに、文字入力の必要のない物もありますが当方で適当に起動して確認した中でアクティブウィンドウへのPostMessageで変更できなかったアプリを下記に列挙しておきます
秀丸、デスクトップ、タスクバー、CCleaner、Geek Uninstaller、CrystalDiskInfo、Bad Application、QTranslate、DeepL

この内、秀丸、タスクバー、DeepLはフォーカスを一旦外す必要がありましたが、いずれのアプリも前述した方法で変更できました
この3つのようなアプリでは、おそらくフォーカストラップ(TABキーなどを押した際にフォーカスの変更or変更先を制御する技術)のような方法が使用されており
特定の子ウィンドウにフォーカスがある場合、親ウィンドウに渡されるメッセージが制限されるか、渡されないため、一度フォーカスを親ウィンドウに移した上でメッセージを送る必要があるようです