Bonjour tout le monde !

Voilà, voulant faire quelques stats avec la température de mon processeur je désire créer un petit programme sous Delphi pour faire ces stats ...

Après plusieurs recherches sur le net et notamment sur ce forum je suis tombé sur de nombreux liens :
- http://laurent-dardenne.developpez.com/articles/wmi-p2/
- http://msdn.microsoft.com/library/de...atureprobe.asp
- http://www.developpez.net/forums/sho...d.php?t=157925
- http://www.developpez.net/forums/showthread.php?t=7770

Bon, tout ça est un peu complexe mais j'ai réussi à créer un début de programme grâce aux exemples de Laurent Dardenne (que je remercie pour son aide)

Voilà ce que ça donne grossièrement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var
  WMILocator:          TSWbemLocator;
  WmiService:          SWbemServices;
 
   WClass:           SWbemObject;
  WInParameters:        SWbemObjectSet;
 
Enum:    IEnumVariant;
 
begin
  WMILocator:= TSWbemLocator.Create(self);
 try
   // Création d'une connexion à un espace de nom local
   // ici le nom de l'espace de nom cible est : CIMV2
   // L'appel renvoie un pointeur sur un objet SWbemServices
   WmiService:= WMILocator.ConnectServer('.', 'ROOT\CIMV2', '', '', '',
                                         '', wbemConnectFlagUseMaxWait, nil);
 
  WClass := WmiService.Get('Win32_TemperatureProbe', wbemFlagUseAmendedQualifiers, nil);
 
  WInParameters := WClass.Instances_(0, nil);
  Enum := (WInParameters._NewEnum) as IEnumVariant;
 
  Label1.Caption := WClass.Properties_.Item('Caption',0).Get_Value);
 
 Finally
  WMILocator.Free;
 end;
end;
Malheureusement j'ai un joli message d'erreur qui me rappelle que la valeur renvoyé par WClass.Properties_.Item('Caption',0).Get_Value) n'est pas un string ...

Donc je demande votre aide, pour récupérer mon info, car je mixe des codes et ça n'a pas l'air de vraiment fonctionne ...

Merci d'avance