Über CoreTemp Daten auslesen

    • VB.NET

    Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von FranzBauer.

      Über CoreTemp Daten auslesen

      Moin!

      Das ist mein erstes Tutorial. Also bitte nett sein ;)

      Ich zeige euch hier wie ihr mit CoreTemp verschiedene Informationen (darunter auch Temperatur) ausliest.
      Eigeninitiative ist gefordert. Links sind am Ende zu finden!

      CoreTemp ist ein Programm zum auslesen einiger CPU-Informationen und der Temperatur der CPU.

      Nachdem ihr die GetCoreTempInfoNET.dll heruntergeladen habt, müsst ihr diese als Verweis hinzufügen.

      GetCoreTempInfo Importieren

      VB.NET-Quellcode

      1. Imports GetCoreTempInfoNET

      Die Bibliothek muss nicht importiert werden, ist aber wohl später einfacher. Ihr könnt natürlich auch "GetCoreTempInfoNET.*" eingeben, wobei ich dies umständlicher finde.

      Neue Instanz erzeugen
      Im nächsten Schritt muss eine neue Instanz erzeugt werden.

      VB.NET-Quellcode

      1. Dim ctinfo As New CoreTempInfo


      Daten laden
      Bevor ihr nun etwas anzeigen lassen könnt, muss CoreTemp die Daten besorgen. Dies geschieht über

      VB.NET-Quellcode

      1. ctinfo.GetData()

      Die Daten wurden jetzt geladen und ihr könnt sie verwenden.

      Temperatur/Tj. Max auslesen
      Wohl eine der am häufigst kommenden Fragen ist: Wie kann man die CPU-Temperatur auslesen?
      Mit CoreTemp kein Problem. Zuerst solltet ihr die Anzahl der Kerne überprüfen und diese in einer Variable speichern.
      Denn die Temperaturen der einzelnen Kerne werden in einem Array gespeichert. Ihr müsst später den index Angeben.
      Achtung: Es wird bei 0 angefangen! 0 ist Kern 1; 1 ist Kern2 usw.
      Also wenn euer Programm sagt, eure CPU hat 2 Kerne, wird es so ausgelesen:

      VB.NET-Quellcode

      1. lbl_temp_k1.Text = CStr(ctinfo.GetTemp(0)) ' 1. Kern
      2. lbl_temp_k2.Text = CStr(ctinfo.GetTemp(1)) ' 2. Kern
      3. ' ...

      Der Datentyp ist Integer, weswegen ich oben noch den Rückgabewert in einen String für das Label umwandle.

      Tj. Max wird pro Prozessor ausgegeben.
      Also wird beim index 0 der Tj. Max Wert für den 1. Prozessor zrückgegeben, bei 1 wird der Tj. Max Wert für den 2. Prozessor
      (wohl nur bei Servern so, ihr werdet nicht 2 Prozessoren haben, weswegen der index 0 völlig ausreicht (normal :D)).
      Den Tj. Max Wert erhält man mit

      VB.NET-Quellcode

      1. lbl_temp_tj.Text = CStr(ctinfo.GetTjMax(0)) ' 1. Prozessor
      2. ' ...

      Auch hier ist der Datentyp wieder Integer und die Werte werden auch hier in einem Array gespeichert.

      FSB/Multiplikator/Prozessorgeschwindigkeit/Name/Anzahl der Prozessoren/Anzahl der Kerne

      VB.NET-Quellcode

      1. ' FSB (Front Side Bus) Geschwindigkeit (in MHz)
      2. ctinfo.GetFSBSpeed
      3. ' Multiplikator
      4. ctinfo.GetMultiplier
      5. ' Prozessorgeschwindigkeit (hat mehrere Nachkommastellen, in MHz)
      6. ctinfo.GetCPUSpeed
      7. ' Name
      8. ctinfo.GetCPUName
      9. ' Anzahl der Prozessoren
      10. ctinfo.GetCPUCount
      11. ' Anzahl der Prozessorkerne
      12. ctinfo.GetCoreCount


      Noch als Hinweis:
      Das Programm CoreTemp muss gestartet sein!
      Wenn CoreTemp nicht im Hintergrund läuft, funktioniert das ganze nicht!


      Es ist auch möglich weitere Daten auszulesen, die ich in diesem Tutorial aber nicht erläutere.
      Ich hoffe ich konnte euch helfen!

      MFG
      FranzBauer

      CoreTemp Homepage:
      alcpu.com/CoreTemp/
      CoreTemp Download:
      alcpu.com/CoreTemp/
      CoreTemp .dll Download:
      alcpu.com/CoreTemp/developers.html
      Ich hasse es wenn einem direkt vorgeworfen wird, ohne dass die Frage überhaupt durchgelesen wurde, dass man nur fertien Code will. Schade dass es sich hier so entwickelt hat :(
      "Windows Vista Home Premium x32" - Wann kapieren endlich alle, dass es kein "x32" gibt? 32 Bit oder x86!
      Hallo vll is das thema schon veraltet aber trotzdem:

      Ich will mit CoreTemp die Temperatur ermitteln es kommt immer die Wahrnung (und dann geht nix) Der Objektverweis wurde nicht auf die Objektinstanz festgelegt!

      VB.NET-Quellcode

      1. Imports GetCoreTempInfoNET
      2. Public Class Form1
      3. Public CTInfo As CoreTempInfo
      4. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      5. CTInfo = New CoreTempInfo()
      6. Label1.Text = CStr(CTInfo.GetTemp(0))
      7. End Sub
      8. End Class
      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      Sorry dass ich erst jetzt antworte. Lies dir das ganze Tutorial noch einmal durch.

      Da steht eindeutig, dass man zuerst die Daten mit ctinfo.GetData() einlesen muss!
      Erst dann ist es möglich die Daten anzeigen zu lassen!
      Ich hasse es wenn einem direkt vorgeworfen wird, ohne dass die Frage überhaupt durchgelesen wurde, dass man nur fertien Code will. Schade dass es sich hier so entwickelt hat :(
      "Windows Vista Home Premium x32" - Wann kapieren endlich alle, dass es kein "x32" gibt? 32 Bit oder x86!