c# - 按类型名称获取 GUID

标签 c# com interop types guid

所以我正在尝试手动执行 AxImp 所做的事情(我正在动态执行)。

我的产品是第三方产品的广泛发布、认可的“附加组件”。他们有一个 OCX,我使用 COM 引用将其添加到我的表单中...但是,如果客户拥有(或安装)他们产品的更新版本,我的产品将无法再加载 OCX。

因此我尝试动态加载他们的 OCX。除了我需要他们的一个 OCX 中的一个接口(interface)的 GUID 之外,我已经完成了所有工作。我知道类型名称是什么,OCX >已<在系统上注册。如何仅从类型名称获取对象的 GUID?

请注意,Assembly.LoadFrom() 不起作用,因为 OCX 不是 .NET,它是 COM。

最佳答案

由于您的评论让我们知道 GUID 在 OCX 中找到但未在 HKEY_CLASSES_ROOT 下注册,因此我们必须从类型库中读取它:

关于c# - 按类型名称获取 GUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4950879/

相关文章:

c# - 将 TimeSpan.TotalMilliseconds 转换为 long

c# - 在 ORM 中将 lambda 表达式转换为 SQL?

c# - NewMailEx 事件不是针对每封邮件触发的?

c# - 如何确定通过实例化 COM coclass 启动的进程的 PID?

c# - 如何在没有安装 MS Office 的机器上使用 Microsoft.Office.Interop.Excel?

c# - 重载 c# 变量

c# - 如何使属性对 .NET DLL 中的 COM 可见(方法确实有效)

python - 我如何与 Windows 程序交互

interop - 托管到 Windows Azure 上的 native 互操作 NO P/Invoke

.net - 如何使用 Microsoft.Office.Interop.Word 以编程方式将文本框添加到另一个页面