[過去ログ] AutoHotkey スレッド part33 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
282
(3): [sage] 2024/03/26(火) 20:44:47.62 ID:vJWIf0nD0(1)
>>275
結論から言うとその方法ではおそらく不可能です
WM_INPUTLANGCHANGEREQUESTによる入力言語の変更を受け付けるか拒否するかは
アプリ側によって制御されており、アプリによって挙動が異なるためです
2バイト語圏ではIMEとの兼ね合いもあり、受け付けないアプリは結構有りそうな気もします

したがって、別の方法として単純なのは#{Space}をSendするか
Windousの切り替えホットキーで各言語ごとに別な物(LAlt+Shift+数字などの競合がなさそうな奴)を設定し
LShift & RShiftだけで変更するなら押下ごとに順番にそれらのキーをSendするスクリプトを組むのが無難な方法となります

あと、現状のAIはAHKについて独自学習でもさせない限り、間違いだらけで使い物になりません
AIの間違いを引きずって、途中からSendMessageで送るMsgが0x11になっていますが、これはWM_QUERYENDSESSIONであり本件とは全く関係ないものです
283
(2): 275 [sage] 2024/03/27(水) 05:35:52.30 ID:ZkJNtuaj0(1)
>>280
アドバイスありがとうございます
MsgBoxは機能しました
メッセージ関係の修正はややこしそうなので諦めます

>>282
助言をありがとうございます
受けつけないソフトもあるのですね
これまで通りLAlt+Shiftで切り替えることにします
AIの間違いには気づきませんでした
ご指摘どうもありがとう
359
(5): [sage] 2024/04/01(月) 23:10:02.11 ID:Nf+wvizd0(1)
>>343
>>282ですが、私の環境でもテストしたところ、ほとんどのアプリでは単純なPostMessageで変更できましたが、秀丸と一部のアプリでは無反応でした
>>310氏が秀丸でも変更できている理由はわかりませんが、当初の予想通り一部のウィンドウではIMEと干渉してWM_INPUTLANGCHANGEREQUESTを受け付けないようです

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

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

v2 入力ロケール変更関数
外部リンク:pastebin.com

以下追記、スクリプトと書き込みタイミングが被るのが嫌だったので待ってる間に検証、考察したこと
省7
364
(2): [sage] 2024/04/02(火) 14:00:07.45 ID:bEpu5GzC0(1/2)
>>359
>>363

>>310です。>>282さんの丁寧なスクリプトや考察は勉強になりました。ご指摘のあった1)、2)以外にも3)の現象を見つけました。
1)自分と、他の方の環境の違い
2)フォーカスがどこにあるか、そこが何を受け付けるが受け付けないかの違い

3)input locale identifierの違い
0x4090409 .. 英語
0x4110411 .. 空き(MS-IME削除のため)
0xE0200411 .. IME Jpapanist2003
を確認した上で、
省11
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.619s*