IAccessible(MSAA):访问Firefox/Chrome导致Adobe Accessibility.api调用

GR8*_*R84 7 c++ firefox google-chrome iaccessible adobe-reader

我注意到Process Monitor通过IAccessible(MSAA)接口访问Mozilla Firefox会导致文件访问名为"Accessibility.api"的Adobe Reader文件.当我使用Microsoft的Inspect.exe(使用MSAA)访问Mozilla Firefox时,我没有获得这些文件访问权限.

这是代码(C++)导致大约28次访问"Accessibility.api"文件访问:

CComPtr<IAccessible> mainElement;
::AccessibleObjectFromWindow(mainWindowHandle, static_cast<DWORD>(OBJID_CLIENT), IID_IAccessible, reinterpret_cast<void**>(&mainElement));
Run Code Online (Sandbox Code Playgroud)

每个::AccessibleChildrenIEnumVariant::Next调用也会导致每个子元素大约28个访问.

如何防止像Inspect.exe这样的文件访问?

更新2018-11-30

我在Chrome上获得了相同的结果.

Adobe Reader未作为插件安装在这些浏览器上.

我试图重命名Accessible.api文件(位于C:\ Program Files(x86)\ Adob​​e\Acrobat Reader DC\Reader\plug_ins\Accessibility.api)以禁用它,但之后我无法访问任何浏览器元素更多.结果子元素不同.Inspect.exe(使用MSAA)或Ranorex Spy(没有浏览器扩展名)没有这些问题.我也用AccProbe检查了结果,这个工具产生了和我一样的结果.

更新2018-12-03

看起来这只会影响32位应用程序.Inspect.exe和Ranorex Spy是64位应用程序.我的应用程序和AccProbe(安装的JRE是32位)是32位.因为Adobe Reader是32位我认为这就是为什么只有32位应用程序受到影响.我还可以使用32位版本的Ranorex Spy重现此行为.

现在我知道这种行为不是由错误的实现引起的.但是为什么这么多访问这个Adobe Reader Accessibility.api文件的问题仍然存在......