我正在通过.Net 中的UIAuomation Clients API并且必须使用 C++ 而不是 C#。这是因为SendInput函数仅在 C++ 中可用,并且似乎是将鼠标点击发送到任何应用程序的最可靠方法(与此问题相同的问题:如何在没有实现任何模式的情况下操作控件?)。
现在,由于缺少有关 msdn 的文档,我正在努力使用 UIAutomation API 的 C++ 版本。有人可以告诉如何使用CreatePropertyCondition、 UIA_NamePropertyId 和“Windows Media Player”创建 PropertyCondition。
char *name = new char[30];
strcpy(name, "Windows Media Player");
VARIANT vt;
vt.vt = VT_CARRAY; // This is probably wrong
vt.pcVal = name;
hr = g_pAutomation->CreatePropertyCondition(UIA_NamePropertyId, vt, &condition);
if(!SUCCEEDED(hr)){
printf("Cannot createpropertycondition in getWMP\n");
return hr;
}
我总是进入这种if
状态。该g_pAutomation
变量工作正常,我能够很好地获得 RootElement。
一个简单的教程/示例(在 C++ 中)的链接也将非常有用。
谢谢