我可以使用c++;从C#BHO遍历DOM?
我正在用C#为Internet Explorer编写一个浏览器帮助对象(BHO) 我想在DOM中查找文本节点,如果我想区分文本节点和其他类型的节点,就需要遍历整个DOM树。这在C++中是耗时的,但是在C++(?)中应该是几乎即时的。我可以使用c++;从C#BHO遍历DOM?,c#,c++,internet-explorer,dllimport,bho,C#,C++,Internet Explorer,Dllimport,Bho,我正在用C#为Internet Explorer编写一个浏览器帮助对象(BHO) 我想在DOM中查找文本节点,如果我想区分文本节点和其他类型的节点,就需要遍历整个DOM树。这在C++中是耗时的,但是在C++(?)中应该是几乎即时的。 有没有办法在C++中进行遍历呢?一个我可以从C#调用的dll,也许可以使用DllImport?将HTMLDocument传递给我的外部公开的c++方法容易吗 还有其他想法吗 干杯 你是从哪里得到“应该”的?大部分时间将花在实现DOM的代码上。这是用微软编写的C++。
有没有办法在C++中进行遍历呢?一个我可以从C#调用的dll,也许可以使用DllImport?将HTMLDocument传递给我的外部公开的c++方法容易吗
还有其他想法吗 干杯 你是从哪里得到“应该”的?大部分时间将花在实现DOM的代码上。这是用微软编写的C++。< /P> GetIUnknownForObject()获取可以传递给本机代码的原始接口指针。它需要为IHtmlDocument2设置指针并从那里获取它。在C#中,这应该是很耗时的, 这是错误的。用户的大部分时间将用于等待HTML到达浏览器,以及浏览器在屏幕上绘制HTML。与之相比,走DOM(任何语言)都是一个快件。< /P>在C++中只写整个BHO?我已经在C语言中写了很多其他的逻辑。例如,这就是Skype工具栏对性能影响如此之大的原因之一。但是C比C C++慢得多,我们都是对的。我已经编写了很多代码,主要是使用DOM,但不是所有的,使用C++、VB和C。是的,这需要时间,是的,C++并没有明显地比其他人快,毫无疑问,你引用的理由。这是我关于为什么不在托管代码中编写BHO的来源。我认为egrunin也是如此。CLR版本注入问题与性能无关。在.NET 4.0 btw中解决。