Laden...

CPU Auslastung?!

Erstellt von Alphawolf1988 vor 14 Jahren Letzter Beitrag vor 14 Jahren 3.202 Views
A
Alphawolf1988 Themenstarter:in
68 Beiträge seit 2008
vor 14 Jahren
CPU Auslastung?!

Hallo liebe Community!

Ich möchte mit C# die aktuelle CPU Auslastung auslesen. Dazu nutze ich folgenden Code:


ManagementClass class1 = new ManagementClass("Win32_Processor");

foreach (ManagementObject ob in class1.GetInstances())
{
      foreach (PropertyData data in ob.Properties)
              MessageBox.Show(data.Name + ": " + ob.GetPropertyValue(data.Name));

}

Jedoch wenn das Property "LoadPercentage" erscheint wird einfach nichts
ausgegeben. Irgend eine Idee?

MFG Wolf

Wer zuerst kommt malt zuerst, wer danach kommt malt drüber! 😁

M
125 Beiträge seit 2008
vor 14 Jahren

Du kannst die CPU Auslastung auch ohne WMI auslesen:


public class CPU
{
    private System.Diagnostics.PerformanceCounter perfCounter;

    public CPU()
    {
        perfCounter = new System.Diagnostics.PerformanceCounter();
        perfCounter.CategoryName = "Processor";
        perfCounter.CounterName = "% Processor Time";
        perfCounter.InstanceName = "_Total";
    }
    // gbt die CPU Auslastung des Rechners zurück
    public int GetCpuLoad()
    {
        return Convert.ToInt16(perfCounter.NextValue());
    }
}

J
237 Beiträge seit 2008
vor 14 Jahren
Mentalis.org

Oder die CpuUsage-Klasse von Mentalis.org benutzen:
Mentalis.org / Useful Classes / CpuUsage
Sehr einfach zu handhaben, nutzt die WinAPI. Mentalis.org ist übrigens immer mal einen Blick Wert.

Grüße, JasonDelife.

Beim Programmieren löst man die Probleme, die man nicht hätte, programmierte man nicht.

A
Alphawolf1988 Themenstarter:in
68 Beiträge seit 2008
vor 14 Jahren

@Mrdjoker

das Problem bei deinem Code Abschnitt ist, dass ich Admin Rechte dafür brauche. Somit fällt das raus.

MFG Wolf

Wer zuerst kommt malt zuerst, wer danach kommt malt drüber! 😁