Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VB.NET 2003 Abfrage von Gerätedaten aus WMI (Nicht nur String-Variablen!)

Empfohlene Antworten

Veröffentlicht

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 ^^

ich habe das eben mal nachsimuliert.

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" :/

das ist bei mir mittels WBEMtest auch so.

Woran kann es liegen?

ähm:

PhysicalAdapter

Data type: boolean

Access type: Read-only

Indicates whether the adapter is a physical or a logical adapter. If True, the adapter is physical.

Windows Server 2003, Windows XP, Windows 2000, and Windows NT 4.0: This property is not available.

ich weiss ja nicht wie du es anstellst, das feld zu finden, aber ich habe das eben auf windows XP sowie 2003 gesucht und *nicht* gefunden ;)

s'Amstel

GRAAAK X/

DAS is ma *******e o_O da brauch ich mich nich zu wundern -.- Danke schön ^^' ich hab nur gesehen, dass es laut der Online - MSDN geben würde aba dass es nur für Vista und konsorten ist, hab ich nicht gesehen .... sch* windowws -.-

aba danke, dann brauch ich nicht weiterzuschaun .... muss ich wol anders rausfinden, wie man den physikalischen adapter von den virtuellen a. unterscheidet ...

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.