我的IE页面:
<OBJECT 
<OBJECT ID=p1 
CLASSID="CLSID:1546B217-B1B4-42A9-B954-003CEA26E0FC">
</OBJECT><iframe id=p2 HEIGHT=50% WIDTH=100% src=.\11.doc> </IFRAME>我页面上有一个我的p1控件,还有一个word服务器
我想用我的p1去操作11.doc的Word服务器。我得到IE的IOleContainer容器接口,然后用IOleContainer::EnumObjects来枚举包含的对象。可以得到两个对象,一个是我自p1对象(可以得到IOleObject),一个却是iframe对象(能访问到IHTMLIFrameElement),但得到IHTMLIFrameElement后怎么也得到对应word的IOleObject或理Word对象_Documnet这些接口。我又用另一种方式,我先得到页面的IHTMLDocument2,再得到p2的IHTMLElement,但还是不能进而得到Word对象。有哪们大虾告诉我怎么才得到到IE容器内的Word对象接口?我500分谢。

解决方案 »

  1.   

    略有所悟,谢
    我得到IE的IOleContainer容器接口,然后用IOleContainer::EnumObjects来枚举包含的对象。可以得到两个对象,一个是我自p1对象(可以得到IOleObject),?
    怎么知道是p1呢?所有的都是底层的一个接口呀.
      

  2.   

    to czylj(夭夭):得到用自已的IOleObject,然后用智能指针的IsEqualObject可以比较是不是同一个对象
      

  3.   

    看了你的问题,你用组建枚举的方法。我换一个角度说。既然知道是WORD服务器,它肯定在注册表里有CLSID,你也可以查到。直接用那个试试!
      

  4.   

    IE5.5以上版本
    查询frame对象的IWebBrowser2接口
    调用IWebBrowser2::get_document获得word.application的IDispatch接口
      

  5.   

    已搞定。原来是一个小问题。谢谢能够得到word.document的接口指针。另外不能用iframe的形式。