我发现了一些与我的问题类似的问题,但没有一个令人满意的答案,而且这些问题已有几年历史了。因此,我希望自那以后也许在这方面已经取得了一些进展。

我感兴趣的是能够访问 Activity 的Firefox窗口的内容并将其复制到剪贴板的能力-使用C或C++代码。

在Internet Explorer中,我可以使用COM的IHTMLDocument2访问浏览器的内容DOM

Firefox中有类似的东西吗?如果是这样,我该怎么做?

顺便说一句,我当前的(丑陋的)解决方法是通过发送虚拟按键来模拟Ctrl + A,Ctrl + C,但这并不是一个真正可靠且优雅的解决方案。

想法,技巧,见识,知识将不胜感激。

谢谢。

注意:为了进一步阐明挑战,我想指出,我对基于Javascript或基于Flash的解决方案不感兴趣。相反,我对C / C++解决方案感兴趣,即使它仅限于Microsoft Windows平台也是如此。

最佳答案

firefox中的DOM通过XPCOM暴露给C++,但要注意,与MSHTML(在IE中)不同,Mozilla中的接口(interface)并不总是冻结的,未冻结的接口(interface)是特定于版本的,并且可能因发行版本而异。

XPCOM的IHTMLDocument2等效项是 nsIDOMDocument

XPCOM与COM非常相似,基类称为nsISupports,并且具有与IUnknown完全相同的语义(包括相同的二进制布局和GUID),但不要假定所有内容都从COM映射到XPCOM(例如,在其中没有IDispatch XPCOM)。

09-18 23:09