GPU Temperatur mit VB2010 auslesen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von p.k.er.

    GPU Temperatur mit VB2010 auslesen

    Hallo!

    Ich habe im Internet schon danach gesucht und nichts wirklich brauchbares gefunden.

    Ich möchte mit VB die Temperatur von HDD CPU und GPU auslesen und mit serieller Schnittstelle an einen atmega8 schicken.
    Das Programm soll dabei im Hintergrund laufen.

    Mit dem CPU ist alles Klaro aber es hängt noch an hdd und gpu.

    Der controller soll mir diverse werte über ein Display anzeigen.

    Ich habe was von NVIDIA dll's gelesen.
    geht das auch ohne diese dll's?

    Danke schon mal im voraus :)
    Gruss p.k.er
    1. Sicherstellen, dass dein Board das überhaupt unterstützt! (Also 1. schau einfach ins Bios 2. die DLL) --> wenn nicht brauchst du nen anderes Board oder baust dir eben nen eigenen Sensor ein (der leider falsch gehen wird, weil Prozessorgehäusetemperatur != Coretemperatur)

    2.
    funrecycler.com/2009/05/08/vbn…in-der-eigenen-anwendung/



    so oder so ähnlich sollte das dann auch mit der GPU funktionieren, indem du die DLL des Graka Anbieters ausliest.

    gpu nicht cpu

    hi@
    danke erstmal für die rasche antwort.

    mit dem cpu ist alles klar hatte ich ja gesagt.
    mein board unterstützt die Sache mit dem CPU.

    Ich bräuchte nur mal eine Idee wie man das mit dem gpu machen kann.
    Ich bin noch relativ frisch mit vb unterwegs und weiss nicht wie man das mit den dll's macht.


    Gruss
    p.k.er
    gpu ist genau das selbe Thema --- du brauchst die DLL des Grakaherstellers die sowas wie Temperatur supportet.
    Dll´s bindest du in dein Projekt ein indem, du eine DLL kopierst in deinen Debug Ordner schmeißt und diese dann via Verweis einbindest.

    Sobald das klappt und nix meckert (weil evtl Framework zu jung etc.) -> landet der Namespace im Intellisense! Es gibt auch noch die Umständliche Variante, indem man DLL´s diekt einbindet.

    Die DLL stellt im Prinzip den Treiber der Grafikkarte dar und ist im Prinzip ein eigenes Programm, was dir Schnittstellen zur Verfügung stellt.
    so ich habe da mal was zusammen gebastelt.

    VB.NET-Quellcode

    1. Declare Auto Function NvCplGetThermalSettings Lib "C:\Windows\System32\nvcpl.dll" (ByVal nWindowsMonitorNumber As Integer, _
    2. ByRef pdwCoreTemp As IntPtr, _
    3. ByRef pdwAmbientTemp As IntPtr, _
    4. ByRef pdwUpperLimit As IntPtr) As Boolean
    5. Private Function NvCplGetThermalSettings2(ByVal nWindowsMonitorNumber As ULong,
    6. ByRef pdwCoreTemp As UInt32,
    7. ByRef pdwAmbientTemp As UInt32,
    8. ByRef pdwUpperLimit As UInt32) As Boolean
    9. End Function
    10. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    11. Dim CoreTemp As Integer
    12. Dim AmbientTemp As Integer
    13. Dim UpperLimit As Integer
    14. Dim ret = NvCplGetThermalSettings2(0, CoreTemp, AmbientTemp, UpperLimit)
    15. If ret = True Then
    16. Label1.Text = "CoreTemp: " & CoreTemp
    17. Label2.Text = "AmbientTemp: " & AmbientTemp
    18. Else
    19. Label1.Text = "Kein Resultat."
    20. Label2.Text = "Kein Resultat."
    21. End If
    22. End Sub


    Leider Kommt bei mir immer "Kein Resultat" oder ohne if "0"

    kann es sein das meine Grafikkarte das garnicht unterstützt?
    ich habe eine 8800GTS.
    Mein Board MSI P31 Neo V2

    Wie Bekommt Everest die Werte wen das mein board oder die karte nicht unterstützt?