none
Température CPU non supporté RRS feed

  • Discussion générale

  • Salut ! Ce bout de script ne fonctionne pas sous VB 2015.

            Try
                Dim processClass As New ManagementClass("root\WMI:MSAcpi_ThermalZoneTemperature")
                For Each service As ManagementObject In processClass.GetInstances()
                    TextBox1.Text = "CPU Température : " + service.GetPropertyValue("CurrentTemperature")
                Next
            Catch err As ManagementException
                MsgBox(err.Message, MsgBoxStyle.Exclamation)
            End Try
    

    Je ne vois pas pourquoi ça ne marche pas. Merci pour votre aide.

    mercredi 4 janvier 2017 13:18

Toutes les réponses

  • Je ne vois pas pourquoi ça ne marche pas. Merci pour votre aide.

    "ça ne marche pas", c'est vague. Quelle est l'erreur retournée ?

    Sous VS 2013, Windows 7, ceci marche :

      Try
                Dim processClass As New ManagementClass("root\WMI:MSAcpi_ThermalZoneTemperature")
                For Each service As ManagementObject In processClass.GetInstances()
                    Dim temp As Double = Convert.ToDouble(service.GetPropertyValue("CurrentTemperature")) / 10 - 273.14999999999998
                    TextBox1.Text = "CPU Température : " + temp.ToString
                Next
            Catch err As ManagementException
                MsgBox(err.Message, MsgBoxStyle.Exclamation)
            End Try

    mercredi 4 janvier 2017 14:05
  • Salut ! Le message est "Non pris en charge"

    Une exception non gérée du type 'System.Management.ManagementException' s'est produite dans System.Management.dll

    Informations supplémentaires : Non pris en charge

    Windows 10 64 bits. .NetFramework 4.5.2
    • Modifié Michel56100 mercredi 4 janvier 2017 17:46 .net
    mercredi 4 janvier 2017 17:43
  • WMI peut ne pas supporter cette classe, mais étonnant si Windows 10 et CPU recent.

    On peut tester WMI avec WBEMTest.exe (exécuter en Admin)

    =>

    Espace de noms, Connexion = root\WMI (ou autres comme root\cimv2)
    Enumérer les instances = MSAcpi_ThermalZoneTemperature
    Choisir une instance en double-cliquant
    Choisir la propriété CurrentTemperature en double-cliquant et ça affiche la valeur

    mercredi 4 janvier 2017 20:16
  • Salut ! En énumérant l'instance : MSAcpi_ThermalZoneTemperature

    voici la réponse :

    Numéro : 0x8004100c
    Environnement : WMI
    Description : Non pris en charge

    root\cimv2 et root\WMI

    Je ne vois pas pourquoi ça coince. Mon PC date de 2012.

    mercredi 4 janvier 2017 23:55
  • Est-ce que les classes WMI classiques fonctionnent ?

    Par exemple,

    Espace de noms root\cimv2

    puis instance Win32_OperatingSystem

    puis propriétés comme Caption qui donne le nom de l'OS ?


    jeudi 5 janvier 2017 00:38
  • Win32_OperatingSystem fonctionne mais je ne vois pas Caption...
    jeudi 5 janvier 2017 00:46
  • Win32_OperatingSystem fonctionne mais je ne vois pas Caption...

    C'est une des propriétés.

    ou par code :

    Dim processClass As New ManagementClass("root\cimv2:Win32_OperatingSystem")
    For Each service As ManagementObject In processClass.GetInstances()
                    TextBox1.Text = "OS : " + service.GetPropertyValue("Caption")
    Next

    Si Win32_OperatingSystem marche et pas MSAcpi_ThermalZoneTemperature, c'est que le service WMI n'a pas de problème, mais que MSAcpi_ThermalZoneTemperature n'est réellement pas supporté (il y a d'autres classes concernant la T°, genre Win32_TemperatureProbe)

    jeudi 5 janvier 2017 10:29
  • Ca marche : Microsoft Windows 10 Professionnel

    Mais la température, niet. :(

    jeudi 5 janvier 2017 11:05