|
EnvChanged, EnvChangedDanger関数(TKInfo.dll)(Ver5.78対応版)
EnvChanged関数は、秀丸メールの「全般的な設定」について、レジストリに保存された内容を読み込み直し、秀丸メール側に反映します。秀丸マクロのenvchanged文の秀丸メール版です。
全般的な設定は、秀丸マクロのopenreg/writeregstr/writeregnum/closereg文などを使って各自で書き換えてください。具体的にどこをどう書き換えればどこの設定が変わるのかについては、「全般的な設定」を変更してレジストリエディタで調べてください。
EnvChangedDanger関数もEnvChanged関数と同じですが、こちらはレジストリから設定を読み込む以外には何もしません。例えばレジストリから読み込んだ設定が以前の設定と変化したことによってウィンドウの位置や色、フォント等を変更しないといけなくなってもそういうことは一切やりません。その代わり、EnvChangedDanger関数はエディタ・ウィンドウ等との排他制御関係の処理が働かないために例えばエディタで編集している最中に裏にいる秀丸メール本体でマクロ実行されて実行されるようなケースでも、編集してる方のエディタ・ウィンドウに何も影響しないで静かに動作させることが出来ます。
- パラメータ1(数値型、EnvChanged関数、EnvChangedDanger関数両方とも共通)
-
パラメータ1には0を指定するか、またはパラメータ1自体を省略してください。
パラメータ1に数値の1を指定すると、EnvChanged関数は、いわゆる「全般的な設定」とは別の、内部的な設定値も含めてレジストリの値をすべて読み込み直しをします。そういう内部的な値を秀丸メールに読み込み直しさせたいような特殊なことをする場合は、
1を指定してください。
パラメータ1に数値の1を指定するようなケースでは、レジストリを書き換える前に、SaveConfig関数を呼んでおくことが必要になります。
- 返り値(数値型)
-
返り値に意味はありません。
例(2枠区切りと3枠区切りを切り替える例) |
loaddll "tkinfo.dll";
openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
#pane = getregnum("pane");
if( #pane == 3 ) writeregnum "pane", 2;
else writeregnum "pane", 3;
closereg;
#n = dllfunc("EnvChanged");
|
- 補足/注意事項
-
ウィンドウの座標など、一部の項目についてはレジストリを書き換えても秀丸メール側には反映されません。
レジストリを壊してしまうと秀丸メールの動作がおかしくなることがあるので、壊さないようご注意ください。特に、設定範囲外の値を書き込んだ場合の動作は保証されません。
「秀丸エディタの動作環境」について、読み込み直しを反映する場合は、秀丸マクロのenvchanged文を使用します。
|