HmNetPInvoke

概要

秀丸本体から提供されているネイティブ関数を、C#用にP/Invoke、そして、ラップしたものとなります。
たった1つの cs ファイルで使える、といったスタンスとなります。

用途としては、hm.NETが直接はサポートしていない「.NET5」や「.NET Core」のdll、
あるいは、「COM経由」や「DllExport.bat経由」で制作するdllでの利用する、
といった想定となります。

また、提供されているAPIの範囲においては、hm.NETと同じ記述になるように構成されています。

わざとPInvokeしていない関数や、趣旨を少し変えている関数も 秀丸本体からは提供されていても、
  • 状態変化を監視する類のものではなく、「マクロ変数を渡せばいいだけのもの」
  • .NETやC#の「巨大で実績のあるライブラリ」を使えばよく、わざわざ秀丸提供のものを使う必要なし
と判断したものは実装していません。

ダウンロード

更新日 2021/02/23
HmNetPInvoke ver 1.001

秀丸

秀丸エディタ ver8.77以上 (v8.97以上推奨)

インプロセスのdllのみでの動作(秀丸と同じプロセス空間で呼び出すdll用途)となります。

対象プラットフォーム

以下の .NET と 秀丸での動作が想定されています。

  • .NET 6.0 (秀丸 v8.97以上)
  • .NET 5.0 (秀丸 v8.97以上)
  • .NET Framework 4.5~4.8 (4.7~4.8推奨) (秀丸 v8.77以上)
  • .NET Core 3.1 (秀丸 v8.97以上)
  • .NET Standard 2.0~2.1 (秀丸 v8.77以上)

使い方は主に2系統

  • 「HmNetInvoke.cs」をあなたが制作しているC#プロジェクトに取り込んで利用

  • この使い方が基本的には想定されています。
    「HmNetInvoke.cs」ファイル単体をあなたのC#プロジェクトへとコピペする形で良いでしょう。
    秀丸本体から提供されている関数が、すでにC#で使いやすいようラップされているため、
    「自身で実装する手間を省きつつ、第3者のdllへの依存も特になし」といった形を実現できます。

  • 「HmNetInvoke.dll」を作成し、それを利用する。

  • この使い方も一応想定されています。
    HmNetInvoke.slnをコンパイルし、「HmNetInvoke.dll」として利用することも可能ではあります。

    ポータブルクラスライブラリとなる「.NET Standard 2.0」のdllを使えば、先述のどの.NET プラットフォームでも動作します。

    この使い方は、hm.NETの小型版のような利用方法ですので、実はhm.NETを使ったほうがよいのではないか? といったことも検討してください、
    hm.NETとの差別化としては、hmNETが、.NET Framework 4.xのみを動作対象としているのに比べ、
    HmNetInvokeは幅広い.NET系列で動作するという点でしょう。