Avatar billede Slettet bruger
19. marts 2004 - 17:10 Der er 12 kommentarer og
1 løsning

Hent Temperature fra cpu

Hej jeg er ved at lave et program der skal overvåge min 10 server og der til vil jeg gerne ku se hvor varm min cpu bliver. er der en der har en kode til det ? og kan man får ander gode oplysninger vil det være godt.
Avatar billede the_master Nybegynder
20. marts 2004 - 18:06 #1
ohh.. er det muligt
Det kræver jo et termometer i computeren
Avatar billede Slettet bruger
22. marts 2004 - 12:42 #2
Jeg ved at alle nye bundkort har det. og ved også at der er programmer der kan hente de oplysninger så hvorfor sku vb ikke ku give mig de oplysninger !!!!
Avatar billede tlyngej Nybegynder
23. marts 2004 - 23:35 #3
Jeg er nu ganske grøn inden for VB, men jeg kunne forstille mig at du skal have fat i en controler, *.DLL, e. lig. Denne skal kunne gå gennem din HAL (Windows NT-systemer), for at komunikere med din hardware i computeren. Jeg har søgt lidt, men fandt intet. Men det kan jo være at du er mere heldig end jeg 8). Hvis du finder en sådanne controler, kunne jeg godt forstille mig at der er knyttet en slags dokumentation til. Og den er vi da sikket nogle stykker der godt kunne tænke os. hehe. Held og lykke med det 8)
Avatar billede Slettet bruger
24. marts 2004 - 16:10 #4
Jeg skal nok smide et link ud når jeg finder nåde. *s*
Avatar billede ttoft Nybegynder
31. marts 2004 - 09:31 #5
Hvis du fortsat ikke har løst problemet, er her et forslag.

Såfremt du ønsker at aflæse CPR-temp. direkte fra bundkort (eller for den sags skyld fra BIOS), skal ud bruge MS WMI. (Kører du Win95 eller NT4 kan WMI downloades gratis fra msdn, se mere på nedennævnte link).

Omkring VB-programmeringen kan du læse hele koden på http://vbnet.mvps.org/, slå op på code, wmi og i index.html vælger du så Cooling Device 'Obtaining temperature probe Information using WMI' og herefter vælges så om der ønskes Motherboard eller BIOS information.
Avatar billede ttoft Nybegynder
31. marts 2004 - 09:34 #6
Undskyld tastefejl, skulle være CPU-temp.
Avatar billede tlyngej Nybegynder
31. marts 2004 - 20:29 #7
Er der andre end mig der ikke kan få den kode til at virke?

Jeg har selv prøvet at se om jeg kunne finde nogle fejl i den, men den er lidt kringlet nar man aldrig har rodet med WMI Method-Call's før.

Jeg køre med winXP-Pro Service Pack 1
Avatar billede Slettet bruger
01. april 2004 - 16:22 #8
beklære jeg kan heller ikke få det til at virke men har du et script der virker så skrive igen. da det der virker af lort.
Avatar billede ttoft Nybegynder
05. april 2004 - 11:40 #9
Beklager at i ikke kan få det til at virke.

I VisualBasic 6.0 (med ServicePack 5) har jeg testet programmet, og det virker. Tilsvarende har jeg lige prøvet BIOS checket nævnt på vbnet.mvps.org, også det virker.

Har I VB 5 eller 6 programmet installeret på maskinen i prøver på ?
Avatar billede tlyngej Nybegynder
07. april 2004 - 00:03 #10
Har lige opdateret til SP5, men det virker stadig ikke.

Jeg tror fejlen er som følger:

__________________________________
Private Sub wmiProbeInfo()

  Dim wmiObjSet As SWbemObjectSet
  Dim obj As SWbemObject  'CurrentProbe
  Dim itmx As ListItem

  On Local Error Resume Next
  '''' I den nederstående linie finder den ikke noget at putte ind i wmiObjSet. Den står til "Nothing", når den er kørt. Og derfor kan den jo selvfølgelig ikke komme videre. Men hvis du kan fortælle mig hvorfor der ikke kommer noget ind i wmiObjSet, ville det være en stor hjælp.''''
  Set wmiObjSet = GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_TemperatureProbe")
   
  For Each obj In wmiObjSet
   
      Set itmx = ListView1.ListItems.Add(, , obj.Description)
      itmx.SubItems(1) = obj.Name
      itmx.SubItems(2) = obj.DeviceID
      itmx.SubItems(3) = obj.Status
      itmx.SubItems(4) = obj.Resolution
      itmx.SubItems(5) = obj.Tolerance
      itmx.SubItems(6) = obj.Accuracy / obj.Resolution / obj.Tolerance & " %"
  Next
______________________________________________________
Avatar billede ttoft Nybegynder
07. april 2004 - 10:27 #11
Umiddelbart vil jeg tro at grunden er, at motherboard'et ikke har en temperaturføler, som WMI kan kalde (af én eller anden ukendt årsag).

Prøv følgende for at se om WMI har fat i dit hardware:

Opret en form uden noget yderligere. Følgende kode indsættes

Private Sub Form_Load()

  Dim WMI As Object
  Dim Result As Object
  Dim Instance As Object
  Dim WQL As String
  Dim Response As String
 
  Set WMI = GetObject("winmgmts:root/CIMV2")
  WQL = "select * from Win32_BIOS" 'DeskTopMonitor" 'BIOS" 'Fan" 'TemperatureProbe"
  Set Result = WMI.ExecQuery(WQL)
  For Each Instance In Result
    Response = MsgBox(Instance.GetObjectText_, vbOKCancel)
    If Response = vbCancel Then Exit For
  Next

End Sub
_________

Som det kan ses af koden er WQL først BIOS, som du så får vist i en msgbox når Projektet/Formen startes/loades. Hvis denne virker, erstatter du BIOS i WQL med DeskTopMonitor og ser om der kommer en msgbox, erstatter med FAN og/eller TemperatureProbe.

Hvis der ikke fremkommer en msgbox når formen loades, må det desværre konstateres, at WMI ikke kan få adgang/finde nogen Temperaturføler på PC'ens motherboard.
Avatar billede tlyngej Nybegynder
07. april 2004 - 10:54 #12
Det må helt klart være mit bundkort der er tosset. Jeg kan godt få en masse oplysninger ud af både min BIOS og min DeskTopMonitor, men TYemperatureProbe´virker ikke hos mig. Det er lidt synd, men jeg må vel bare lære at leve med det, og så holde øje med om der skulle være nogle opdateringer til mit bundkort på vej.
Avatar billede speedo Nybegynder
11. april 2004 - 16:13 #13
Hmm
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester