首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用IAccessible在Firefox中访问文档的超文本标记语言

如何使用IAccessible在Firefox中访问文档的超文本标记语言
EN

Stack Overflow用户
提问于 2009-02-12 17:19:32
回答 1查看 2.9K关注 0票数 4

我可以使用下面的代码从火狐窗口获取一个IAccessible对象:

代码语言:javascript
复制
Guid guid = new Guid("{618736E0-3C3D-11CF-810C-00AA00389B71}");
object obj = null;
int ret = AccessibleObjectFromWindow(hWnd, 
    (uint) OBJID.WINDOW, ref guid, ref obj);
Accessibility.IAccessible acc = (Accessibility.IAccessible)obj;

然而,我不确定从这里到哪里去。我需要从文档中获取完整的HTML。我知道IAccessible.get_accValue()方法,但我不太确定如何在火狐中使用它。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-21 14:58:56

显然,您不能使用IAccessible获得完整的HTML源。我找到了这个,但它在FF3.5中不起作用:

代码语言:javascript
复制
IServiceProvider *pServProv = NULL;
pAccessible->QueryInterface(IID_IServiceProvider, (void**)&pServProv);
ISimpleDOMNode *pSimpleDOMNode;
if (pServProv) {
  const GUID refguid = {0x0c539790, 0x12e4, 0x11cf, 0xb6, 0x61,
                        0x00, 0xaa, 0x00, 0x4c, 0xd6, 0xd8};
  HRESULT result = pServProv->QueryService(refguid, IID_ISimpleDOMNode,
                                           (void**)&pSimpleDOMNode);
  if (SUCCEEDED(hresult) && pSimpleDOMNode != NULL) {
    /* This is a Mozilla node! Use special ISimpleDOMNode methods described in
      ISimpleDOMNode.idl. */
  }
}

我还发现了这个,它在FF3.5中也不起作用:

代码语言:javascript
复制
HRESULT hr = AccessibleObjectFromWindow(hwnd, OBJID_CLIENT,
      IID_IAccessible, (void**)&pAccessible);
if (SUCCEEDED(hr) && pAccessible != NULL) {
HRESULT hr = pAccessible->QueryInterface(
      IID_ISimpleDOMNode, (void**)&pSimpleDOMNode);
}

我被卡住了。:(

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/542395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档