【发布时间】:2017-08-19 06:16:00
【问题描述】:
我正在尝试访问 Google Chrome 网页的文本以阅读它并提供一些操作(例如,提醒)。一切正常,但我需要以编程方式启用可访问性检查。我使用此代码:
wchar_t className[100];
GetClassName(hwnd, className, 100) == 0 || wcscmp(className, L"Chrome_WidgetWin_1");
CComPtr<IAccessible> pAccMain;
HRESULT hr = ::AccessibleObjectFromWindow(hWndChrome, 1, IID_IAccessible, (void**)(&pAccMain));
CComPtr<IAccessible> pAccMain2;
::AccessibleObjectFromWindow(hWndChrome, OBJID_CLIENT, IID_IAccessible, (void**)(&pAccMain2));
在我使用 --force-renderer-accessibility 参数运行浏览器或手动更改位于 chrome://accessibility 中的可访问性设置之前,什么都不会发生。
我做错了什么?
找到此信息:“Chrome 使用 EVENT_SYSTEM_ALERT 和自定义对象 ID 1 调用 NotifyWinEvent。如果它随后收到针对该自定义对象 ID 的 WM_GETOBJECT 调用,则假定辅助技术正在运行”。有人知道如何实现吗?
【问题讨论】:
标签: c++ google-chrome uiaccessibility