Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以使用c++;从C#BHO遍历DOM?_C#_C++_Internet Explorer_Dllimport_Bho - Fatal编程技术网

我可以使用c++;从C#BHO遍历DOM?

我可以使用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#为Internet Explorer编写一个浏览器帮助对象(BHO)

我想在DOM中查找文本节点,如果我想区分文本节点和其他类型的节点,就需要遍历整个DOM树。这在C++中是耗时的,但是在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中解决。