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