C# 有没有办法从IE中的onload事件传递的IHTMLEventObj中找到HTMLDocument?
我正在用C#处理一个浏览器助手对象(是的,我知道性能不会很好) 我正在将处理程序附加到我的窗口的HTMLWindowEvents2_Event.onload事件。正在正确引发事件(例如,发生刷新时)。我看到我的处理程序被调用,并且类型正确地显示为“加载”事件 事件处理程序有一个支持IHTMLEventObj的参数。我无法确定如何从该对象获取引发onload事件的窗口或文档。从这个界面上也能做到这一点吗?传入的对象似乎有一个空的srcElement属性(可能是因为它是由窗口引发的事件,而不是文档中的某个元素) 我是否需要将其转换到另一个类或接口以获取文档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或C++中提供任何帮助。< P>没有事件的源信息。 假设是,由于将事件附加到窗口对象的连接点,因此您知道哪个窗口将是事件源。钩住事件时,需要保存对窗口的引用,以防需要事件源
Class HTMLWindowEvents2Sink
{
public HTMLWindowEvents2Sink(IHTMLWindow2 eventSource)
{
this.eventSource=eventSource;
}
IHTMLWindow2 eventSource;
void AdviseEvent()
{
eventSource.load += this.HTMLWindow_onload;
}
....
}
通过使用,您还可以在这里获得性能影响和潜在的bug库