Hallo miteinander.
Zu erst Info über das Entwicklungssystem:
Ich progge grade unter WinXP SP2 mit VS.NET 2003.
Bin momentan eher am rumexperimentieren.
Ich Möchte über WMI (gibt es eine bessere lösung?) die Geräteinformationen rauslesen.
Hab schon angefangen und kann auch schon string attribute auslesen. Es gibt jedoch in den WMI-Klassen wie z.B. Win32_NetworkAdapter auch Att. wie z.B. PhysicalAdapter vom Typ Bool.
Private Function GetServices(ByVal Pos As String(), ByVal TabName As String, ByVal Where As String) As DataSet
Dim TName As String = TabName
Dim SArray() As String 'Testarray
Dim searcher As ManagementObjectSearcher
Dim SelectString As String
Try
ServiceList.Tables.Add.TableName = TName
For Each StringObjekt As String In Pos
SelectString += StringObjekt + ", "
ServiceList.Tables(TName).Columns.Add(StringObjekt)
Next
SelectString = SelectString.Remove(SelectString.Length - 2, 2)
If Not Where = "" Then
Where = " WHERE " + Where
End If
searcher = New ManagementObjectSearcher("SELECT " + "*" + " FROM " + TName + Where)
For Each queryObj As ManagementObject In searcher.Get()
Dim ServiceRow As DataRow
ServiceRow = ServiceList.Tables(TName).NewRow
For Each StringObjekt As String In Pos
'SArray = queryObj(StringObjekt)
ServiceRow(StringObjekt) = queryObj(StringObjekt)
Next
ServiceList.Tables(TName).Rows.Add(ServiceRow)
Next
dgTest.DataSource = ServiceList
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Function
Wenn ich mit dem Code versuche z.B. ein Select auf Win32_NetworkAdapter zu machen, bei dem nur alle physikalsichen anzeigen soll, komme ich in eine Exception mit der Meldung "Anfrage ist ungültig" :/
Es muss am boolschen Typ liegen. Sind es Variablen von Typ String oder z.B. uint16, zeigt er sie normal an
Woran kann es liegen?
Danke im vorraus ^^