Mehrere WMI Abfragen gleichzeitig?

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von rotherford.

    Mehrere WMI Abfragen gleichzeitig?

    Hallo VBler,

    ich habe zwei wmi abfragen um IP und einmal die Gateway auszulesen.

    VB.NET-Quellcode

    1. Function ShowIP() As String
    2. Dim query As ManagementObjectSearcher = New ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
    3. Dim queryCollection As ManagementObjectCollection = query.Get()
    4. Dim IPAdress(0) As String
    5. For Each mo As ManagementObject In queryCollection
    6. IPAdress = mo.GetPropertyValue("IPAdress")
    7. Return IPAdress(0)
    8. Next
    9. Return IPAdress(0)
    10. End Function
    11. Function ShowSubnet() As String
    12. Dim query As ManagementObjectSearcher = New ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
    13. Dim queryCollection As ManagementObjectCollection = query.Get()
    14. Dim Subnet(0) As String
    15. For Each mo As ManagementObject In queryCollection
    16. Subnet = mo.GetPropertyValue("IPSubnet")
    17. Return Subnet(0)
    18. Next
    19. Return Subnet(0)
    20. End Function


    So diese zwei Funktionen sind es. Wenn ich die in einer anderen Form beide gleichzeitig aufrufen möchte gehts net.. Wahrscheinlich weil ich zwei WMI-Abfragen gleichzeitig mache. Nur wie löst man dieses Problem? Ich häng da gerade irgendwie bei :(

    LG
    EDIT: funktioniert...War mein Fehler. Ich hatte bei der ShowIP() Funktion in der Abfrage "IPAdress", es muss aber "IPAddress" heißen. Nun funktionierts.

    lg

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Litti“ ()

    Warum willst du denn zwei WMI-Abfragen in eine packen?
    Die Ergebnissbehandlung wäre dadurch viel schwerer.

    Definiere Gleichzeitig:
    Deinem Code nach, meinst du wahrscheinlich hintereinander?

    WMI 1 Abfrage() [..]
    WMI 2 Abfrage() [..]

    Ich kenne mich mit WMI nicht wirklich aus, aber vielleicht gibt es eine .Close() Oder .Dispose() Funktion, die den Zugriff wieder freigibt.

    Kommt eine Exception?
    Breakpoint setzen.

    OK. Hat sich erledigt - Gibt es nicht: bytes.com/topic/visual-basic-n…do-i-close-wmi-connection

    Liebe Grüße
    /nicht getestet