0

嗨,我有一个 com/activeX,我想知道它是否已注册。我对该文件一无所知,只是它是一个需要检查的 com/dll。 如何检查 COM 组件(EXE/DLL 文件)是否已注册(使用 .NET)?

如何检查 COM dll 是否使用 C# 注册?

等等告诉我根据guid进行搜索。但我找不到解释如何找到 GUID

4

1 回答 1

0

如果您至少不知道其中一个 CLSID 指南,那么您将无法找到。你也不能使用这个组件,所以测试你不能使用的东西并不是非常有用。

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

另一种查找方法是使用 Regedit.exe 并使用 Edit + Find。键入 DLL 的名称。当它找到一个名为“LocalServer32”的键时,您就找到了 CLSID 键。

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

于 2012-05-30T14:33:34.020 回答