入門編 ~更新や具体的操作があるかのチェック~ (秀丸エディタ 9.12以降)

概要

監視・常駐型のプログラムを作る際に、「秀丸上で何も更新や具体的な操作がないならば、何もする必要がない」といった
プログラムを作ることは十分ありえるシチュエーションです。

このような目的のため、Hm.Edit.UpdateCount が利用できます。
これは秀丸マクロ変数の「updatecount」相当のものとなります。

更新や具体的操作があるかの判断材料となる updatecount 相当の値を取得する

マクロ中でもマクロ中以外でも、常時取得することが出来ます。

int Hm.Edit.UpdateCount
  • C#側のソース

    MyTestForm.cs
    using System;
    using System.Windows.Forms;
    using Hidemaru;
    
    namespace HmTest
    {
        partial class HmTestForm
        {
            protected void MethodCreate()
            {
                System.Diagnostics.Trace.WriteLine("フォーム生成時");
            }
    
            protected void MethodTick()
            {
                System.Diagnostics.Trace.WriteLine("チック時");
                try
                {
                    // このプロパティは秀丸9.12以降なので、それ以前のバージョンだと例外が返ってくる
                    var updateCount = Hm.Edit.UpdateCount;
                    Hm.OutputPane.Output($"{updateCount}");
                } catch(Exception ex)
                {
                    Hm.OutputPane.Output(ex.ToString());
                }
            }
            protected void MethodDestroy()
            {
                System.Diagnostics.Trace.WriteLine("フォームクローズ時");
            }
        }
    
    }
    
  • 秀丸マクロ側のソース

    テキストを編集してみたり、メニュー上の操作をしてみたり、
    操作をやめてマウスだけ動かしてみたりして、
    updatecount がどのように更新されていくのか確認してみてください。