如何深入了解COM对象?

时间:2015-11-24 13:33:28

标签: .net com

我正在挖掘.NET源代码,并在COM对象中找到了一个interop类。如果我有guid,我该如何找到有问题的DLL和类(就此而言,.NET如何根据guid加载DLL)?

是否在某个地方的GAC?

1 个答案:

答案 0 :(得分:1)

COM dll不会放入GAC(仅适用于.NET程序集 - 因此名称为全局程序集缓存)。

如果你知道COM组件的guid并想知道实际二进制文件的路径,你可以在注册表中找到它。

开始regedit.exe,导航至

HKEY_CLASSES_ROOT\CLSID\<guid value>\InprocServer32

并检查密钥的默认值。或者,对于命令行爱好者,请使用reg.exe工具:

reg query HKEY_CLASSES_ROOT\CLSID\{0000002F-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\CLSID\{0000002F-0000-0000-C000-000000000046}\InprocServer32
   (Default)    REG_SZ    C:\Windows\System32\oleaut32.dll
   ThreadingModel    REG_SZ    Both