需要在注册表中找到已注册 com dll 的 clsid

Posted

技术标签:

【中文标题】需要在注册表中找到已注册 com dll 的 clsid【英文标题】:need to locate the clsid for the registered com dll in registry 【发布时间】:2012-08-05 15:20:18 【问题描述】:

我创建了一个 COM dll 并将其注册到注册表中。但是我怎样才能在注册表中找到这个注册的 COM dll 的 clsid。因为当我在路径 HKEY_CLASSES_ROOT\Wow6432Node\CLSID 中打开注册表时,那里有很多条目。能否请您提供如何找到我注册的 dll 的 clsid 的方法?

【问题讨论】:

【参考方案1】:

DLL 可能托管零个或多个 coclass (CLSIDs)。进行反向搜索,并在HKEY_CLASSES_ROOT 下搜索 DLL 路径或名称,您会发现零个或多个这样的项目:

HKEY_CLASSES_ROOT\Wow6432Node\CLSID\1C15D484-911D-11D2-B632-00C04F79498E\InprocServer32
(Default) = "C:\Windows\SysWOW64\msvidctl.dll"

你会这样读:

64 位 Windows 中的 32 位 CLSID (Wow6432Node) CLSID 1C15D484-911D-11D2-B632-00C04F79498E 由 DLL (InprocServer32) 托管 图书馆C:\Windows\SysWOW64\msvidctl.dll

【讨论】:

以上是关于需要在注册表中找到已注册 com dll 的 clsid的主要内容,如果未能解决你的问题,请参考以下文章

如何找到哪个未注册的 DLL 正在实现 COM 对象?

为啥 C# 需要注册 COM DLL 才能引用它?

我是不是需要注册 COM dll 才能在 .NET 项目中引用它?

模块“srmlib.dll”已加载,但未找到入口点 DllRegisterServer

无注册 COM - COM dll 相对于客户端 exe 的位置

libxml2.dll win10文件在哪