HmNetPInvokeのインターフェイス

インターフェイスは単純

「HmNetPInvoke.cs」の中身を見ると、長々とソースが書いてあるため、戸惑うかもしれませんが、
実際のAPIインターフェイスは単純です。

.dllとしてコンパイルし、参照として追加し、定義へとジャンプしてみれば、以下のような単純なAPIの全貌をみることが出来ます。
(まさに hm.NET のミニ版であり、3割ほどの機能が提供されている形となります)

HmNetPInvoke の APIインターフェイス
namespace HmNetPInvoke
{
    public partial class Hm
    {
        public static double Version { get; }
        public static IntPtr WindowHandle { get; }

        public static class Edit
        {
            public static string FilePath { get; }

            public static string TotalText { get; }
            public static string SelectedText { get; }
            public static string LineText { get; }

            public static ICursorPos CursorPos { get; }
            public static IMousePos MousePos { get; }

            public interface ICursorPos
            {
                int LineNo { get; }
                int Column { get; }
            }
            public interface IMousePos
            {
                int LineNo { get; }
                int Column { get; }
                int X { get; }
                int Y { get; }
            }
        }

        public static class Macro
        {
            public static bool IsExecuting { get; }
            public static IResult Eval(string expression);

            public interface IResult
            {
                int Result { get; }
                string Message { get; }
                Exception Error { get; }
            }

            public static class Exec
            {
                public static IResult Eval(string expression);
                public static IResult File(string filepath);
            }
        }
    }
}