解决方案 »

  1.   

    没做过这种调用,绑定顺便看看有无高人解答
    ------------------------------------------------------AutoCSDN签名档------------------------------------------------------
      

  2.   

    子线程加上 AfxOleInit 试试看    
    _AFX_THREAD_STATE* pState = AfxGetThreadState();
    if (!pState->m_bNeedTerm && !AfxOleInit())
      AfxMessageBox(_T("OLE initialization failed."));
      

  3.   

    在子线程中调用CoInitialize(NULL);吧,我最近在做COM组件的开发,在子线程里面调用COM组件的时候就遇到了这种问题
      

  4.   

    我也遇到同样的问题,发送消息可行,但是是在有window的情况下才可以采用,没有window的ActiveX,又该怎么做呢?散集,列集,这个能做到么? 怎么做啊? 菜鸟一枚,不懂啊,求高人指教。
      

  5.   

    CoInitialize(NULL); 这个加了没?
      

  6.   

    找到解决方案:
    这里有完整的代码例子:
    http://www.cnblogs.com/zdxster/archive/2011/01/27/1945872.html放在这里给有需要的人参考。
      

  7.   

    解决了,既然不让子线程调用,就在主线程中调用。子线程中手动触发自定义消息,主线程收到消息后调用javascript
      

  8.   

    回复#11:
    我也在项目中遇到这个问题了~由于是简单对象ATL,没有窗口,没办法通过发送窗口消息这种来告诉主线程调用JS函数,我也想过在子线程中postthreadmessage给主线程,然后在主线程peekmessage这种方法。但是这样会产生阻塞。不知道你是怎么解决的?