如何使用 UIAutomation 在 Firefox 中获取实时边界矩形?

问题描述 投票:0回答:0

这是代码。

#include <conio.h>
#include <UIAutomation.h>

IUIAutomation* p_iui;
IUIAutomationElement* p_fcs_element;

AllocConsole();
CoInitialize(NULL);
CoCreateInstance(
        __uuidof(CUIAutomation),
        NULL,
        CLSCTX_INPROC_SERVER,
        IID_PPV_ARGS(&p_iui));

while(true)
{
    Sleep(1000);

    p_iui->GetFocusedElement(&p_fcs_element);
    RECT r;
    p_fcs_element->get_CurrentBoundingRectangle(&r);
    _cprintf("Rect: %d,%d,%d,%d\n", r.left, r.top, r.right, r.bottom);
}
CoUninitialize();
FreeConsole();

我想在移动浏览器应用程序时每秒获取焦点输入控件的边界矩形。
这适用于 Internet Explorer、Edge 和 Chrome。

例如铬合金

当我使用 Firefox 时,url 输入控件也可以正常工作,但是网页内的输入控件(例如 Google 中的搜索输入控件)一直返回相同的边界矩形。

火狐

我应该更改一些 Firefox 设置,还是这只是一个问题或错误?
谢谢。

c++ firefox ui-automation
© www.soinside.com 2019 - 2024. All rights reserved.