c# dll自动注册

在网上看到一个c# dll自动注册的文章,我测试了一下,可用。

下面是具体代码

        [DllImport("Ry4SCom.dll")]
        public static extern int DllRegisterServer();
        /// <summary>
        /// dll注册
        /// </summary>
        public static void Regist()
        {
            try
            {
                RegistryKey rkTest = Registry.ClassesRoot.OpenSubKey(
                               "CLSID\{E6B59B74-A0DC-4DE9-9E34-365F3B63F0C7}\");
                if (rkTest == null)
                {
                    //Dll没有注册,在这里调用DllRegisterServer()
                    int i = DllRegisterServer();
                }
            }
            catch
            { }

        }
View Code

其中的{E6B59B74-A0DC-4DE9-9E34-365F3B63F0C7}是这个dll在注册表中的唯一ID,如果不知道这个ID怎么办呢,其实很简单,那就是“逆向思维”。我们可先注册这个Dll文件,然后到注册表的“HKEY_CLASSES_ROOTCLSID”分支下“查找”Dll的名称或路径,就可以看到这个ID了。

原文地址:https://www.cnblogs.com/sczmzx/p/3370955.html