English help on website



setbackgroundmode文(Ver9.24対応版)
目次− setbackgroundmode文
setbackgroundmode文は、マクロを非アクティブな状態で実行できるようにします。(V8.89以降)

setbackgroundmode 1;とすると、バックグラウンドモードが有効になります。
setbackgroundmodeの主な目的は、setactivehidemaru等で2つの秀丸エディタを切り替えながら実行するマクロがあると、ウィンドウが前面に来てしまうことを防ぐためにあります。
例えば以下のマクロだと、非タブモードでウィンドウが2つある場合に前面に来てしまい、他のアプリの操作や、手動起動で操作する秀丸エディタの操作が困難ですが、setbackgroundmode 1;をすると前面に来ないようになります。
ウィンドウを切り替えながら実行するマクロの例
setbackgroundmode 1;
//----
if(tabmode!=0){
  message "タブモードOFFで実行してください。";
  endmacro;
}
newfile;
#a=hidemaruhandle(0);
newfile;
#b=hidemaruhandle(0);
setactivehidemaru #a;
while(1){
  setactivehidemaru #a;
  insert "Aです\n";
  setactivehidemaru #b;
  insert "Bです\n";
}
endmacro;
一度有効にすると、マクロが終了するまでは無効にすることはできません。
バックグラウンドモードは、マクロ実行中の秀丸エディタが非アクティブな状態になっても、実行中のマクロはその秀丸エディタ上で継続されます。
openfileやnewfileで新しい秀丸エディタのウィンドウができる場合は、バックグラウンドモードでないときと同じように、新しい秀丸エディタにマクロの実行は切り替わります。

バックグラウンドモードでは以下の制約があります。


参照:
 影響の及ぶ範囲(execmacro)
 影響の及ぶ範囲(アクティブ切り替え)