監視・常駐型のプログラムを作る際に、「秀丸上で何も更新や具体的な操作がないならば、何もする必要がない」といった プログラムを作ることは十分ありえるシチュエーションです。
このような目的のため、Hm.Edit.UpdateCount が利用できます。 これは秀丸マクロ変数の「updatecount」相当のものとなります。
マクロ中でもマクロ中以外でも、常時取得することが出来ます。
int Hm.Edit.UpdateCount
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 がどのように更新されていくのか確認してみてください。