C# 有没有办法从IE中的onload事件传递的IHTMLEventObj中找到HTMLDocument?

C# 有没有办法从IE中的onload事件传递的IHTMLEventObj中找到HTMLDocument?,c#,internet-explorer,visual-c++,bho,C#,Internet Explorer,Visual C++,Bho,我正在用C#处理一个浏览器助手对象(是的,我知道性能不会很好) 我正在将处理程序附加到我的窗口的HTMLWindowEvents2_Event.onload事件。正在正确引发事件(例如,发生刷新时)。我看到我的处理程序被调用,并且类型正确地显示为“加载”事件 事件处理程序有一个支持IHTMLEventObj的参数。我无法确定如何从该对象获取引发onload事件的窗口或文档。从这个界面上也能做到这一点吗?传入的对象似乎有一个空的srcElement属性(可能是因为它是由窗口引发的事件,而不是文档中

我正在用C#处理一个浏览器助手对象(是的,我知道性能不会很好)

我正在将处理程序附加到我的窗口的HTMLWindowEvents2_Event.onload事件。正在正确引发事件(例如,发生刷新时)。我看到我的处理程序被调用,并且类型正确地显示为“加载”事件

事件处理程序有一个支持IHTMLEventObj的参数。我无法确定如何从该对象获取引发onload事件的窗口或文档。从这个界面上也能做到这一点吗?传入的对象似乎有一个空的srcElement属性(可能是因为它是由窗口引发的事件,而不是文档中的某个元素)

我是否需要将其转换到另一个类或接口以获取文档


<>我很乐意在C或C++中提供任何帮助。

< P>没有事件的源信息。

假设是,由于将事件附加到窗口对象的连接点,因此您知道哪个窗口将是事件源。钩住事件时,需要保存对窗口的引用,以防需要事件源

Class HTMLWindowEvents2Sink
{
    public HTMLWindowEvents2Sink(IHTMLWindow2 eventSource)
    {
        this.eventSource=eventSource;
    }
    IHTMLWindow2 eventSource;
    void AdviseEvent()
    {
        eventSource.load += this.HTMLWindow_onload; 
    }
    ....
}
通过使用,您还可以在这里获得性能影响和潜在的bug库