System.Runtime.InteropServices.Marshal.GetActiveObject 方法

本文提供了此 API 参考文档的补充说明。

GetActiveObject公开 OLEAUT32.DLL 中的 COM GetActiveObject函数。 .DLL但是, 后者需要类标识符 (CLSID), 而不是此方法所需ProgID的编程标识符 ()。 若要在没有注册 ProgID的情况下获取 COM 对象的正在运行的实例,请使用平台调用来定义 COM GetActiveObject 函数。 有关平台调用的说明,请参阅 使用非托管 DLL 函数

ProgID 和 CLSID

注册表的HKEY_CLAS标准版S_ROOT子树中的键包含各种子项类型。 大多数子项是 ProgID,它将用户友好的字符串映射到 CLSID。 应用程序通常使用这些可读字符串,而不是数字 CLSID。 通常,组件具有与版本无关的 ProgID,该 ID 映射到系统上安装的组件的最新版本。

应用程序和组件主要使用 ProgID 检索其相应的 CLSID。