2011-05-26 691 views
0

我对Windows编程非常新颖。在这里不用我的代码Qt ActiveX WMI QAxBase :: dynamicCallHelper:ItemIndex(int):没有这样的属性

objIWbemLocator = new QAxObject("WbemScripting.SWbemLocator"); 
objWMIService = objIWbemLocator->querySubObject("ConnectServer(QString&,QString&)",QString("."),QString("root\\cimv2")); 

QAxObject* returnList = objWMIService->querySubObject("ExecQuery(QString&)", QString("select * from %1").arg(domain)); 
QAxObject* result = returnList->querySubObject("ItemIndex(int)", 0); 

我收到错误上运行

Qt ActiveX WMI QAxBase::dynamicCallHelper: ItemIndex(int): No such property in 

ItemIndex 方法已存在

回答

1

MSDN

的的ItemIndex方法不起作用 与不包含01的集合SWbemObjects,如SWbemMethodSet, SWbemNamedValueSet,SWbemPrivilegeSet, SWbemPropertySet和 SWbemQualifierSet。

你在选择什么?你有没有尝试迭代集合?另外,您还需要最低限度的Windows Vista for ItemIndex方法。我希望这有助于

+0

那么如何遍历集合?你能告诉我一些例子吗?我没有看到有关该文档的* Iterator类,你能否指点我一些例子? – 2011-05-26 11:01:57

+1

看到这个链接http://www.qtforum.org/article/31970/how-do-i-get-use-the-ienumerable-interface-in-qt.html。如果你得到它的工作,请发布你的代码,以便我们都可以从你的经验中受益。谢谢 – 2011-05-26 11:09:04