View Full Version : [C++] CPU Temp....
fakehealer
06-06-2012, 20:20
Buongiorno a tutti, premetto che ho appena cominciato a leggere il mio primo libro di c++ per super principianti, quindi ci acchiappo poco ma ho tanta volontà. Ecco il mio obbiettivo: il mio PC monta un display lcd iMON della soundgraph che visualizza tante belle cose...ma non quelle che voglio io(CPU temp, GPU temp,HDD temp). Quindi mi piacerebbe che un programma come speedfan visualizzasse tutto su questo display. Il sito soundgraph mette a disposizione le API...qualcuno ha gia creato questo programma(smart imon), che però non mi da la CPU Temp(tra l'altro ogni tanto visualizza tanti 13...)...a parte finire il libro e comprarne altri... che linea guida mi potete suggerire? ho letto di asus.dll e pcprobe.dll...ma non so ancora come usarle...
Il mio PC: MB Asus P7H55-M PRO, i5, GPU ati5770, 3xHDD). Grazie in anticipo..
tomminno
06-06-2012, 22:52
Questo esula dalla specificità del linguaggio. Quello che vuoi fare se non ricordo male non è fattibile con le API di Windows, generalmente ci vuole un driver in kernel mode, as esempio per la temperatura della CPU, in quanto i registri che contengono questa informazione sono accessibili solo in ring 0. Per l'HD dovresti vedere S.M.A.R.T. che dovrebbe contenere l'informazione, per la GPU non saprei.
Comunque tutta roba di basso livello, non sarà difficile incappare nell'Assembly per recuperare le informazioni.
In teoria con WMI potresti usare Win32_TemperatureProbe, ma il suo funzionamento dipende da molti fattori, primo tra tutti che ci sia il driver del produttore dell'hardware e che questo fornisca il supporto a WMI...
Diciamo che per cominciare hai scelto un argomento decisamente complesso... :)
fakehealer
06-06-2012, 23:34
Grazie per la celere risposta, immaginavo fosse qualcosa di più complesso del mitico HelloWorld! Ma come potrei fare per studiare il programma di colui che ha già provveduto a creare in parte ciò che vorrei fare io( vedi smart imon di un certo Simon e qlc)? Come si fa a vedere dentro quell'eseguibile? Tra i software installati ho Visual C++ 2010 Express e Embarcadero RAD Studio XE2.
Cercando nel forum mi sono imbattuto in questo:
http://www.hwupgrade.it/forum/archive/index.php/t-1173311.html
Ma che vuol dire "mettere in PATH la directory" (post di andbin delle ore 12.07)?
karch_kiraly
07-06-2012, 07:05
PATH e' una variabile d'ambiente che definisce il percorso di ricerca in fase di esecuzione di un programma. La puoi vedere dal prompt dei comandi digitando appunto path.
Una precisazione, per svilluppare driver in kernel mode (o ring 0 secondo i vecchi canoni) si lavora in C. Poi nulla ti vieta di inserire codice in assembler, ma questo lo si puo' fare anche in ring 3. Softice, che bei ricordi!
fakehealer
10-06-2012, 22:08
Grazie per le preziose informazioni....vediamo cosa riesco a fare!!!!!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.