代码之家  ›  专栏  ›  技术社区  ›  James Turner

检测COM对象是否已注册或实例化(iTunes)

  •  1
  • James Turner  · 技术社区  · 16 年前

    我正在Windows上使用iTunes COM API。我想管理在实例化iTunes对象(它必须自己启动iTunes)时发生的巨大延迟。我希望有一种方法可以确定以下几点:

    • 如果已创建给定CLSID的实例

    使用这些,我可以提供有用的反馈,如“iTunes未安装”或“iTunes启动时请稍候-这需要一些时间”。

    2 回复  |  直到 16 年前
        1
  •  0
  •   Shay Erlichmen    16 年前
    1. 创建iTunes COM对象,如果失败,则iTunes未安装,并且该函数应快速返回。
    2. 在创建iTunes对象之前创建其他线程让线程等待某个事件,一旦iTunes对象被创建,就发出该事件的信号。
    3. 在线程中,如果在3秒钟内事件未被选中,则显示“请等待”,然后永远再次等待事件。

    这或多或少是你应该做的。

        2
  •  0
  •   Georg Fritzsche    16 年前

    确定给定CLSID是否已注册而无需共同创建它的直接方法是在注册表中检查 HKCR\ReadableName\CLSID . 这也是windows获取信息的来源。