CPU Name & MHZ auslesen fehler

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von dachziegel5.

    CPU Name & MHZ auslesen fehler

    Hi,

    EDIT: Ich hab Windows 7 Home Premium x86, Macbook Pro Late 2011, Bootcamp.
    Wenn ich per Registry den Namen des CPU's auslesen will, bekomme ich nur eine Leere ausgabe :(
    Wenn ich ins Regedit gehe, bekomm ich für den String "ProcessorNameString" -> Intel(R) Core(TM) i7-2760QM CPU @ 2.40GHz
    Wobei , das "HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\SYSTEM\CentralProcessor\0" , ich hab da von 0 - 7 einträge, wahrscheinlich für jeden thread?
    Was mach ich falsch ? ;S

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    3. Dim CPUName As String
    4. CPUName = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\SYSTEM\CentralProcessor\0", "ProcessorNameString", Nothing)
    5. label1.Text = CPUName
    6. Dim Freq As String
    7. Freq = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\SYSTEM\Ce­ntralProcessor\0", "~MHz", Nothing)
    8. label2.Text = Freq & " MHz"
    9. End Sub
    10. End Class


    Und das ist die Ausgabe

    Quellcode

    1. Label1.Text = *leer*
    2. Label2.Text = *leer* & " MHZ"


    Lg

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „dachziegel5“ ()

    Offenbar ist der Wert nicht vorhanden, denke ich mal, denn in diesem Fall gibst du Nothing zurück. Ersetze das bitte mal durch nen String und guck ob der dann ausgegeben wird.

    Ansonsten: Adminrechte?
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    @~blaze~
    Huch, da is wohl beim kopieren ins board ein fehler passiert ("Ce­ntralProcessor")
    Ja, habe CentralProcessor.
    EDIT:
    Hab jetze auch mal ...

    VB.NET-Quellcode

    1. Label1.Text = Microsoft.Win32.Registry.GetValue("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\SYSTEM\Ce­ntralProcessor\0", "ProcessorNameString", Nothing)


    ...Probiert, geht auch net :S
    Gibst noch ne Möglichkeit?

    ERLEDIGT MIT WMI

    Hab gedacht, wmi ginge bei mir gar nicht, da ich die Temperatur nicht auslesen konnte (Nicht Unterstützt)
    Habs nun mit folgendem Code/Snippet geschafft:

    VB.NET-Quellcode

    1. Dim objCPUItem As Object, objCPU As Object
    2. objCPUItem = GetObject("winmgmts:").InstancesOf("Win32_Processor")
    3. For Each objCPU In objCPUItem
    4. ' Prozessor wäre: objCPU.DeviceID
    5. ' Bezeichnung wäre: Trim$(objCPU.Name)
    6. ' Takt wäre: objCPU.MaxClockSpeed
    7. ' ID wäre: objCPU.ProcessorId
    8. Next
    9. objCPUItem = Nothing

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