|
IMEのON/OFF状態は、アプリケーションソフトの1つ1つのウィンドウ毎(と
いうか、正確にはスレッド毎)に独立してるので、現在の状況はそれのせいで起
きてるってことじゃないかと思います。
例えば秀丸を2つ起動して、1つの秀丸でIMEをONにしても、Ctrl+Tabでウィ
ンドウを切り替えると、そこのウィンドウ上ではIMEがOFFになります。もう一回
Ctrl+Tabで元のウィンドウに戻るとIMEがONになります。
今回のケースは、つまり、マクロを実行したウィンドウ上でIMEをOFFにして、
そこからgrepを実行して出てきた秀丸上でIMEをONにしても、元のウィンドウは
OFFのままってことで、それはそれでそういう動作で合ってることになります。
しいてなんとかするとしたら、setactivehidemaruで元のウィンドウをアクテ
ィブに戻してそこでimeをONにして、それからまたgrep結果の方に
setactivehidemaruするって作戦にしたらいいかと思います。
マクロの例:
#h1 = hidemaruhandle(0);
if( imestate == 1 ) {
imeswitch;
}
$s = input( "検索文字列は?" );
grep $s, "c:\\*.*", ".";
#h2 = hidemaruhandle(1);
if( imestate == 0 ) {
imeswitch;
}
setactivehidemaru #h1;
if( imestate == 0 ) {
imeswitch;
}
setactivehidemaru #h2;
|
|