Récupérer Informations SpeedFan grace a la mémoire partagée

Contenu du snippet

mmfhandle, AdresseMémoire sont des entiers
mmfhandle = API("Kernel32","OpenFileMappingA",0xF001F,Vrai,"SFSharedMemory_ALM")
AdresseMémoire = API("Kernel32","MapViewOfFile",mmfhandle,4,0,0,0)
SI mmfhandle = 0 ALORS
      Info("Connection SpeedFan Impossible !")
SINON
      AfficheInfo()
FIN
_________________________________________________________________________
PROCEDURE AfficheInfos()
Transfert(&ChaîneDest, AdresseMémoireDépart, LongueurTransfert) ; ChaîneDest = ChaîneDest[[2 A]]
// Températures
Float2(Asc(ChaîneDest[[18]]),Asc(ChaîneDest[[19]]),Temp1) ; LIB_Temp_1 = "Chipset 1 : "+Temp1[[1 A 2]]+"C"
Float2(Asc(ChaîneDest[[22]]),Asc(ChaîneDest[[23]]),Temp2) ; LIB_Temp_2 = "Chipset 2 : "+Temp2[[1 A 2]]+"C"
Float2(Asc(ChaîneDest[[26]]),Asc(ChaîneDest[[27]]),Temp3) ; LIB_Temp_3 = "Temp 3 : "+Temp3[[1 A 2]]+"C"
Float2(Asc(ChaîneDest[[30]]),Asc(ChaîneDest[[31]]),Temp4) ; LIB_Temp_4 = "Temp 4 : "+Temp4[[1 A 2]]+"C"
Float2(Asc(ChaîneDest[[34]]),Asc(ChaîneDest[[35]]),Temp5) ; LIB_Temp_5 = "HDD : "+Temp5[[1 A 2]]+"C"
Float2(Asc(ChaîneDest[[38]]),Asc(ChaîneDest[[39]]),Temp6) ; LIB_Temp_6 = "HDD : "+Temp6[[1 A 2]]+"C"
Float2(Asc(ChaîneDest[[42]]),Asc(ChaîneDest[[43]]),Temp7) ; LIB_Temp_7 = "Core 0 : "+Temp7[[1 A 2]]+"C"
Float2(Asc(ChaîneDest[[46]]),Asc(ChaîneDest[[47]]),Temp8) ; LIB_Temp_8 = "Core 1 : "+Temp8[[1 A 2]]+"C"
Float2(Asc(ChaîneDest[[50]]),Asc(ChaîneDest[[51]]),Temp9) ; LIB_Temp_9 = "GPU : "+Temp9[[1 A 2]]+"C"
Float2(Asc(ChaîneDest[[54]]),Asc(ChaîneDest[[55]]),Temp10) ; LIB_Temp_10 = "Ambiant : "+Temp10[[1 A 2]]+"C"
// Fan
Float2(Asc(ChaîneDest[[146]]),Asc(ChaîneDest[[147]]),Fan1) ; LIB_Fan_1 = "CPU : "+Fan1+" RPM"
Float2(Asc(ChaîneDest[[150]]),Asc(ChaîneDest[[151]]),Fan2) ; LIB_Fan_2 = "CM : "+Fan2+" RPM"
Float2(Asc(ChaîneDest[[154]]),Asc(ChaîneDest[[155]]),Fan3) ; LIB_Fan_3 = "Alim : "+Fan3+" RPM"
Float2(Asc(ChaîneDest[[158]]),Asc(ChaîneDest[[159]]),Fan4) ; LIB_Fan_4 = Fan4+" RPM"
Float2(Asc(ChaîneDest[[162]]),Asc(ChaîneDest[[162]]),Fan5) ; LIB_Fan_5 = Fan5+" RPM"
//Voltage
Float2(Asc(ChaîneDest[[274]]),Asc(ChaîneDest[[275]]),Volt1) ; LIB_Vcore1 = Volt1+" V"
Float2(Asc(ChaîneDest[[278]]),Asc(ChaîneDest[[279]]),Volt2) ; LIB_Vcore2 = Volt2+" V"
Float2(Asc(ChaîneDest[[282]]),Asc(ChaîneDest[[283]]),Volt3) ; LIB_33V     = Volt3+" V"
Float2(Asc(ChaîneDest[[286]]),Asc(ChaîneDest[[287]]),Volt4) ; LIB_5V     = Volt4+" V"
Float2(Asc(ChaîneDest[[290]]),Asc(ChaîneDest[[291]]),Volt5)
Float2(Asc(ChaîneDest[[294]]),Asc(ChaîneDest[[295]]),Volt6)
Float2(Asc(ChaîneDest[[298]]),Asc(ChaîneDest[[299]]),Volt7)
Float2(Asc(ChaîneDest[[302]]),Asc(ChaîneDest[[303]]),Volt8)
Float2(Asc(ChaîneDest[[306]]),Asc(ChaîneDest[[307]]),Volt9) ; LIB_Vbat     = Volt9+" V"
___________________________________________________________________________________
PROCEDURE Float2(s1,s2,renvoi)
str2 est une structure
    octet2 est un entier sans signe sur 1 octet
    octet1 est un entier sans signe sur 1 octet
FIN
R est un entier sur 2 octets
vstr2 est un str2
vstr2:octet2 = s1
vstr2:octet1 = s2
Transfer(&R, &vstr2, 2)
renvoi = R


Compatibilité : Windev

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.