c#으로 rot(?).. 이미 열려있는 문서 컨트롤하기

아직도 c#으로 ROT를 해결 못하고 있습니다 ㅠㅠ
참조 추가 : HwpObject 1.0 Type Library 추가했습니다.
사용중인 아래한글 버전은 2010 사용하고 있습니다.

if (name.CompareTo(“!HwpObject.100.1”) != 0)
이 부분이 해당 버전 찾는것 같은데 아래한글 버전별로 어떻게 수정해야 할지도 모르겠네요
2014, 2018, 2020, 2022, 2024 등등요…

아래 코드에서 잘못된 점을 지적해주시면 고맙겠습니다.
간단하게 떠있는 한글창에 글자 입력 테스트 하는 코드입니다.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices.ComTypes;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using HwpObjectLib;

namespace hwp_rot01
{
    public partial class Form1 : Form
    {
        [DllImport("ole32.dll")]
        static extern int CreateBindCtx(uint reserved, out IBindCtx ppbc);
        [DllImport("ole32.dll")]
        private static extern int GetRunningObjectTable(int reserved, out IRunningObjectTable prot);

        HwpObject hwp = IHwpObejct();

        public Form1()
        {
            InitializeComponent();
        }

        private void Typing(IHwpObject hwp, string text)
        {
            var act = hwp.CreateAction("InsertText");
            var pset = act.CreateSet();
            pset.SetItem("Text", text);
            act.Execute(pset);
            hwp.Run("BreakPara");       //문단 나누기(Enter)
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // get Running Object Table ...
            IRunningObjectTable Rot;
            GetRunningObjectTable(0, out Rot);

            // get enumerator for ROT entries
            IEnumMoniker monikerEnumerator = null;
            Rot.EnumRunning(out monikerEnumerator);

            IntPtr pNumFetched = new IntPtr();
            IMoniker[] monikers = new IMoniker[1];

            IBindCtx bindCtx;
            CreateBindCtx(0, out bindCtx);
            string name;

            while (monikerEnumerator.Next(1, monikers, pNumFetched) == 0)
            {
                monikers[0].GetDisplayName(bindCtx, monikers[0], out name);

                if (name.CompareTo("!HwpObject.100.1") != 0)
                {
                    IHwpObject hwp;
                    object obj;
                    Rot.GetObject(monikers[0], out obj);
                    hwp = (IHwpObject)obj;

                    Typing(hwp, "기존 실행중인 한글 창에 글자 입력하기");
                    // hwp.Open("f:\\page1.hwp", "", "");
                }
            }
        }
    }
}