Auslesen von Hardwaredetails mittels WMI

  • VB.NET

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

    Auslesen von Hardwaredetails mittels WMI

    Hi zusammen,

    ich habe mich vorhin mit diesem Tutorial beschäftigt. Den Code habe ich erstmal (fast) so übernommen und dann begonnen, ihn zu verändern. Das ist meine Weise die Syntax zu verstehen. Klappt bisher auch immer ganz gut.

    Jetzt sitze ich aber vor einem Problem: Ich möchte den Namen der CPU und den des Lüfters (es wird nur 1 geben, da dieser PC steinalt ist) auslesen. Ich habe eine Form mit 4 Labels, 2 davon sollen die Ausgelesenen Daten ausgeben. Tatsächlich ausgegeben wird aber nur der CPU Name.

    Hier der Code dazu:

    VB.NET-Quellcode

    1. Imports System
    2. Imports System.Management
    3. Public Class Form1
    4. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    5. Fan()
    6. CPU()
    7. End Sub
    8. Private Sub Fan()
    9. Dim Fan As String = "Win32_Fan"
    10. Dim FanSpeed As String = "Name"
    11. Dim Fansearcher As New ManagementObjectSearcher("root\CIMV2", "SELECT * FROM " & Fan)
    12. For Each queryObj As ManagementObject In Fansearcher.Get()
    13. Try
    14. lbl_fan_speed.Text = "" & CStr(queryObj(FanSpeed))
    15. Catch
    16. End Try
    17. Next
    18. End Sub
    19. Private Sub CPU()
    20. Dim CPU As String = "Win32_Processor" ' wo soll gesucht werden?
    21. Dim CPUName As String = "Name" 'was suche ich?
    22. Dim Cpusearcher As New ManagementObjectSearcher("root\CIMV2", "SELECT * FROM " & CPU)
    23. For Each queryObj As ManagementObject In Cpusearcher.Get()
    24. Try
    25. lbl_Cpu_name.Text = "" & CStr(queryObj(CPUName))
    26. Catch
    27. End Try
    28. Next
    29. End Sub
    30. End Class


    Das Label für den Lüfter (lbl_fan_name) gibt mir ganz konsequent nichts aus... Wieso? ?(

    EDIT: Hab grad mal Die KeyboardID anstelle des Fan Names auslesen lassen, da kam was bei raus ... :?:
    Eine Pizza auf einer Pizza sind 2 Pizzen

    Eine Lasagne auf einer Lasagne ergibt 1 große Lasagne

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

    Beim Auslesen mit SpeedFan bekomme ich legitime Temperaturwerte (GPU: 58°C, CPU0: 37°C, CPU1: 40°C), aber daneben steht "Fan1: -109 RPM" Auslese Fehler oder Ausgabe doof Formatiert? Abgesehen davon zeigt er mir 5 Lüfter an, wo auch immer die alle sein sollen... Ich glaube, dass der Chip Murks ausgibt.
    Aber Danke für den Tipp! :)
    Eine Pizza auf einer Pizza sind 2 Pizzen

    Eine Lasagne auf einer Lasagne ergibt 1 große Lasagne
    Ich kann mir nicht vorstellen, dass der Lüfter ausgelesen wird :D, weil eigentlich sind da nur 2 Kabel für Strom und 1 + GNd des stroms als Encoder Signal -> aber den Name gibts dir hier nicht aus. Der Encoder ist einfach nur nen HI Lo Signal, was dir die Geschwindigkeit anzeigt und dann per Temperatursensor den Lüfter eben nachregelt.