Quantcast
Channel: Windows Desktop Development for Accessibility and Automation forum
Viewing all articles
Browse latest Browse all 585

UI Automation Element From Point freezes Internet Explorer and Inspect tool

$
0
0

Hi,

We have a C++ application that uses UI Automation to collect accessibility information of  element at current mouse position (it's very similar to Inspect tool). Our application looks like this:

IUIAutomation* CIUIAutomationProvider::GetUIAutomation() { if (m_pIUIAutomation == NULL) { CoCreateInstance(__uuidof(CUIAutomation), NULL, CLSCTX_INPROC_SERVER, __uuidof(IUIAutomation), (void**)&m_pIUIAutomation); } return m_pIUIAutomation; } SPUIAutomationElement CIUIAutomation::GetCIUIAutomationFromPoint(POINT pt) { IUIAutomation* pUia = CIUIAutomationProvider::GetUIAutomation(); SPUIAutomationElement spUiaElement; if (pUia != NULL) { if (pUia->ElementFromPoint(pt, &spUiaElement) == S_OK&& spUiaElement != NULL) {//spUiaElement->get_CurrentName();

return spUiaElement;

}} }

However, the call pUia->ElementFromPoint(pt, &spUiaElement) freezes out application and the target application. Target application is the webpage www.netsuite.com, viewed by Internet Explorer 11.

After IE and Inspect are hung, we use Spy++ (a tool shipped with Visual Studio) to view the structure of IE, and we saw that IE created a new window named "FrameTab Cover".

The "FrameTab Cover" window is not exist if the IE is not hung. So my questions are:

1. What is the purpose of "FrameTab Cover" window? Why it is created?

2. We think that the creation of "FrameTab Cover" window happens while UI Automation is on the progress of collecting element from point, it changes the UI Automation tree, and it blocks the function. If that is true, can we prevent the creation of "FrameTab Cover" window? And how?

We're using Windows 7 Enterprise SP1 64-bit and IE 11.

Thanks,

Quan.


Viewing all articles
Browse latest Browse all 585

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>