ocx - 如果 OCX 文件(例如 flash.ocx)已注册,如何在 Visual C++ 中查找?

标签 ocx

如果 OCX 文件(例如 flash.ocx)已注册,如何在 Visual C++ 中查找?

最佳答案

如果您的意思是 .ocx 文件本身,您可能有两个选择:

  • 从.ocx 中读取类型库,解析出对象和接口(interface)UUID,看看它们是否都存在于注册表中的HKCR\CLSID、HKCR\TypeLib 等下。
  • 遍历注册表中 HKCR\CLSID 中的所有已注册对象,查看它们中是否有任何引用您的 .ocx 作为其 InprocServer32 引用。您可能需要在读取的路径上进行路径和环境变量扩展以测试匹配。

  • 不过,第一种方法不一定会告诉您它是否与安装的 .OCX 版本相同(尽管您可以检查每个磁盘上的路径)。不幸的是,第二个会很慢。

    我认为重新注册 .ocx 可能是最简单的。

    关于ocx - 如果 OCX 文件(例如 flash.ocx)已注册,如何在 Visual C++ 中查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2691849/

    相关文章:

    vb6 ocx 项目 - 可以直接运行 EXE,而不是在调试器中

    VB6 UserControls : Differences between OCX vs. 包括在项目中

    flash - Flash OCX错误使IE6/7崩溃

    c# - ASP.NET 中的 ActiveX 控件

    c++ - 如何清除ActiveX OCX控件的绘图区?

    .net - AxInterop和Interop有什么区别?

    用于 Java 8 的 JavaBeans ActiveX 桥?

    c++ - 一个奇怪的内存泄漏问题

    delphi - 通过Delphi调试OCX

    .net - 如何在不注册的情况下在.NET(C#)中使用AutoItX