Jump to content



προγραμμα παρακολουθησης cpu-Visual Basic-


Reselie

Recommended Posts

Δημοσιεύτηκε

Γεια σας παιδια,

μηπως ξερει καποιος απο εσας πως να συσχετισω μια Proggress bar,με την χρηση cpu του συστηματος?

θα ημουν ευγνωμον! ευχαριστω προκαταβολικα!

αυτο που θελω να κανω ειναι core temp-like αλλα αντι για ποσοστα με progress bars..:nerd:

Αν μιλαμε για vb.net, αυτο που χρειαζεσαι ειναι το System.Diagnostics.PerformanceCounter class. Κοιτα στo MSDN για το πως συντασσεται. Αυτο θα σου επιστρεψει την τιμη της cpu, την οποια θα την θεσεις τιμη του ProgressBar, και θα βαλεις και εναν Timer, να "ανανεωνει" συνεχως και θα εισαι ετοιμος :T:

ευχαριστω πολυ darien!

εαν το κανω ετσι θα δουλευει με ολους τους cpu η θα εχω κανα προβλημα ασυμβατοτητας?

ναι για vb.net μιλαμε*visual studio 2005 για την ακριβια..

εγραψα δοκιμαστικα (το εκανα πειραματικα σαν button για να δοκιμασω)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Public [U][B]class[/B][/U] PerformanceCounter _
Inherits Component _
Implements ISupportInitialize

Dim pc As PerformanceCounter
pc.NextValue()
ProgressBar1.Value = pc.NextValue

Αλλα μου χτυπαει το class σαν "keyword is not a valid intentifier"

Δεν μπορείς να ορίσεις class μέσα σε function...!

Σβήσε το "Public class PerformanceCounter Inherits Component Implements ISupportInitialize"

Edit:

Δήλωσε το namespace στην αρχή

Imports System.Diagnostics

Δες και στο msdn για την class του PerformanceCounter, έχει και παράδειγμα...

Επίσης δεν αρκεί να δηλώσεις...:

Dim pc As PerformanceCounter

Θα πρέπει να κάνεις και init το object σου...:

pc = New PerformanceCounter("..", "..", False)

όπου "..." ο system counter που χρειάζεσαι, πχ "TotalProcessorTime"

λοιπον, φτιαξε στη φορμα σου ενα Timer και ενα Progressbar και στον κωδικα:

Public Class Form1

Public cpu_monitor As New System.Diagnostics.PerformanceCounter("Processor", "% Processor Time", "_Total")

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Timer1.Interval = 1000

Timer1.Enabled = True

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

ProgressBar1.Value = cpu_monitor.NextValue()

End Sub

End Class

μπορεις να αλλαξεις την τιμη του Timer1.Interval, αναλογα με το ποσο γρηγορα θελεις να γινεται η ανανεωση. 1000 = 1 δευτερολεπτο :T:

επισης για καποιο λογο που δεν γνωριζω...σε περιπτωση που το βαλουμε να ενημερωνει παραπανω απο 1 στοιχεια με την cpu_monitor.NextValue() το κανει μονο για το πρωτο...

γιατι ?

τελικα,αυτο οσο κι αν το'ψαξα, δεν βρηκα κατι. Μαλλον κατι παιζει με το nextvalue, οπως μου ειπες στο msn. Μπορει να λυθει, αν δηλωσουμε ακομα ενα διαφορετικο PerformanceCounter.

edit: ή πιο απλα, χρησιμοποιωντας μια μεταβλητη :)

ευχαριστω παιδες! επειδη σημερα εστηνα την maximus(τhnx Πετρο!) δεν προλαβα να κανω κατι..αυριο το πρωι θα δοκιμασω! εννοητε μολις τελειωσω θα κανω ενα guide*

*θα προσπαθησω τουλαχιστον:p

thnx και παλι!!

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.