|
現状では、setactivehidemaruで切り替えて動作させるしか無いと思います。
あるいは、もしかしてC言語でDLLを作成することが出来るなら、例えば秀丸
のウィンドウハンドルからウィンドウタイトルを取り出す関数を作成して、その
タイトル中に"(更新)"の文字が入ってるかどうか判定するという手はありますけ
ど…。
extern "C" char* _cdecl Bypass_GetWindowText( int hwnd, int cmd ) {
static char sz[512];
GetWindowText( (HWND)hwnd, sz, sizeof(sz) );
return sz;
}
みたいな関数を用意すればいいです。
■将来的な機能追加として…
filename[...]のような対応だけでいいなら、それはそれで簡単に対応できる
と思いますが、たぶん、他のユーザー様から「じぁあ、xもyもあれもこれも…」
みたいな話が出てきたり、さらには「他の秀丸でgettextする処理を、ウィンド
ウを切り替えずに実行できないか…」みたいな話が出てきたりするんじゃないか
と思ったりします。
例えば鶴亀メールでは、ExecAtという関数があって、任意の関数呼び出しを、
「どのウィンドウ上で実行するか」と指定できる仕組みがあります。そういう仕
組みということで検討したら便利なんじゃないかと思ったりします。つまり、
execat( hidemaruhandle(1), "$s filename;" );
とか、あるいは、setactivehidemaruとは別に、アクティブウィンドウを変更
しないで単純にマクロ実行を他の秀丸に移すための、
setmacroexechidemaru
みたいて文を用意するとか…。
その辺、エレガントな解決策を考えてから作業しないと、小手先的な要望消化
していったら後々混乱するような気がします。
|
|