如何使用HWND在C ++中添加AutomationId

时间:2019-07-18 10:53:51

标签: c++ windows qt microsoft-ui-automation

我想将UI AutomationId添加到用C ++和Qt编写的应用程序的元素中。

通过询问winId,我得到了HWND窗口句柄。 我以为可以使用

设置属性
SetProp(windowId, L"property", handle);

但是它似乎不起作用。 通过使用Inspect.exe,我可以分析应用程序的结构。 输入的属性在Inspect.exe中不可见

#ifdef _WIN32
            HWND windowId = (HWND)buttons[i]->winId();
            HANDLE handle = new std::string("testId");
            SetProp(windowId, L"UIA_AutomationIdPropertyId", handle);
            std::string myval = *reinterpret_cast<std::string*>(GetProp(windowId, L"UIA_AutomationIdPropertyId"));
            std::cout << myval << std::endl;
#endif

该属性本身似乎已设置,因为我可以通过调用GetProp来获取它。

我也尝试设置以下属性: - 名称 -AutomationId

关于我的问题: 我应该怎么做才能设置AutomationId?

0 个答案:

没有答案