是否有办法确定 dll 是 ActiveX 控件还是严格意义上的 COM 对象?

问题描述 投票:0回答:1

我目前正在处理一个遗留项目,要求我从一组 DLL 和 OCX 中识别 ActiveX 控件。然而,我发现术语“COM”和“ActiveX”几乎可以互换,因此寻找它们之间的“差异”很令人困惑。

据我了解,ActiveX 控件是一种 COM 对象,因此必须区分非 ActiveX COM 对象和 ActiveX COM 对象。

有没有办法仅通过查看 DLL 实现的接口来判断它是否包含 ActiveX 控件?

我尝试在网上查找,但定义相当混乱,并且对于什么是 ActiveX 控件与什么是 COM 对象似乎没有明确的答案。

dll com activex ole ocx
1个回答
0
投票

假设您愿意将控件加载到应用程序中,则可以使用 QueryInterface 来查看 DLL 是否实现

IOleControl
IOleControlSite
,如下所述。 仅凭外观是无法判断的。

https://learn.microsoft.com/en-us/windows/win32/com/activex-controls-interfaces

© www.soinside.com 2019 - 2024. All rights reserved.