|
秀丸担当様
>V7.00以降では、[マクロ]→[マクロ登録]→[自動起動]で、編集後タイマーのマ
>クロを登録しておけば、上書きモードに限ってその動作にさせることも可能です。
>例えば以下のようなマクロを登録しておきます。
>
>if( event == 5 ){ //編集後タイマー
> if( geteventparam(0) == 0 ) { //通常の編集
> if( overwrite ) { //上書きモード時
> left;
> }
> }
>}
上記マクロを登録したところ理想通りの動きとなりました。
>この操作のためだけに普段の入力でこのマクロが動き続けるのも嫌だと思うので、
>この操作をするときだけ自動起動マクロをONにして、普段はOFFにしておくのが
>いいと思います。
やや重たかったので普段常駐するのは避けたいと思い、以下の自動起動マクロの
ONとOFFを切り替えるマクロを作成してメニューバーに登録しました。
しかし正常に動作しません。
ここから==========>
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
#eventMacroFlag = getregnum( "EventMacroFlag" );
closereg;
#autoRunMacro = #eventMacroFlag & 1;
if (#autoRunMacro) {
// 自動起動有効のため無効にする
#eventMacroFlag = #eventMacroFlag - 1;
} else {
// 自動起動無効のため有効にする
#eventMacroFlag = #eventMacroFlag + 1;
}
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
writeregnum "EventMacroFlag", #eventMacroFlag;
closereg;
envchanged;
<==========ここまで
レジストリエディタでEventMacroFlagの値をみたところ値は正常に切り替わっていま
す。
[マクロ]→[マクロ登録]でマクロ登録画面を表示させれば秀丸のほうに設定が反映され
ましたので、どうもenvchangedがあやしいのではと考えています。
正しい関数があれば教えてください。
|
|