В статье Microsoft, ManagementBaseObject.Properties
Property, показано, как перечислить свойства в коллекции
For Each p As PropertyData In properties
Console.WriteLine(p.Name)
For Each q As QualifierData In p.Qualifiers
If (q.Name.Equals("Description")) Then
Console.WriteLine(processClass.GetPropertyQualifierValue(.Name, q.Name))
End If
Next
Console.WriteLine()
Next
End Function
И эта статья http://msdn.microsoft.com/en-us/library/ms257359.aspx демонстрирует получение информации из WMI.
То, что я пытаюсь сделать, это запустить запрос WMI, например «SELECT * FROM Win32_Environment». Но я не могу перечислить коллекцию, потому что envVar не является PropertyDataCollection:
Dim query As New ObjectQuery(strQuery)
Dim searcher As New ManagementObjectSearcher(scope, query)
For Each queryObj As ManagementObject In searcher.Get()
s = s & queryObj("Name").ToString() & ": " & queryObj("VariableValue").ToString()
Next
Как мне перечислить эту коллекцию, не зная имен? Кажется, я не могу заставить его работать, так как queryObj не является коллекцией.