Я пытаюсь получить доступ к тексту на веб-странице 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));
И ничего не происходит, пока я не запустите браузер с —сила-визуализатор-доступность параметр или вручную изменить настройки доступности, расположенные в хром: // доступность.
Что я делаю неправильно?
Нашел эту информацию: «Chrome вызывает NotifyWinEvent с EVENT_SYSTEM_ALERT и пользовательским идентификатором объекта, равным 1. Если впоследствии он получает вызов WM_GETOBJECT для этого пользовательского идентификатора объекта, он предполагает, что вспомогательная технология работает». Кто-нибудь знает, как это реализовать?
Задача ещё не решена.
Других решений пока нет …