C# 测试com dll是否使用其路径注册

C# 测试com dll是否使用其路径注册,c#,c,windows,com,C#,C,Windows,Com,嗨,我有一个com/activeX,我想知道它是否注册了。我对这个文件一无所知,只知道它是一个需要检查的com/dll。 等等,告诉我根据guid进行搜索。但是我没有找到hwo的解释来查找GUID如果您至少不知道它的一个CLSID GUID,那么您就无法找到。您也无法使用该组件,因此测试无法使用的组件并不是非常有用 如果这是一个ActiveX组件,那么您可以通过查看其类型库来了解更多信息。它通常作为资源嵌入到DLL中。检查是否首先使用VisualStudio的File+Open+File选择D

嗨,我有一个com/activeX,我想知道它是否注册了。我对这个文件一无所知,只知道它是一个需要检查的com/dll。


等等,告诉我根据guid进行搜索。但是我没有找到hwo的解释来查找GUID

如果您至少不知道它的一个CLSID GUID,那么您就无法找到。您也无法使用该组件,因此测试无法使用的组件并不是非常有用

如果这是一个ActiveX组件,那么您可以通过查看其类型库来了解更多信息。它通常作为资源嵌入到DLL中。检查是否首先使用VisualStudio的File+Open+File选择DLL。如果您看到一个TYPELIB资源,那么您就领先了。在Visual Studio命令行提示符下,运行oleview.exe。文件+查看类型库并选择DLL。您将看到类型库中定义的接口和类。选择一个要测试的coclass的guid

另一种方法是使用Regedit.exe和Edit+find。键入DLL的名称。当它找到名为LocalServer32的密钥时,您就找到了CLSID密钥

另一种方法是运行一个使用该组件的程序,并观察SysInternals的ProcMon实用程序生成的跟踪。您将看到程序搜索CLSID键并读取LocalServer32键。但缺点是,该工具往往会将您淹没在数据中