Using Unmanage Code in C# 
http://www.codeguru.com/cs_syntax/Unmanage.html

解决方案 »

  1.   

    vs.net的在线资源中本身就带有这个例子,不过是监视器的一部分。
      

  2.   

    如何用C#实时获取CPU利用率.txtusing System;
    using System.Diagnostics;
    using System.Threading;
    public class CpuLoadInfo
    { // auxiliary print methods
     private static void Say ( string txt )
     {
      Console.WriteLine(txt);
     } // auxiliary print methods
     private static void Say()
     {
      Say("");
     } // The main method. Command line arguments are ignored.
     [STAThread]
     public static void Main()
     {
      Say("$Id: CpuLoadInfo.cs,v 1.2 2002/08/17 17:45:48 rz65 Exp $");
      Say();  Say("Attempt to create a PerformanceCounter instance:");
      Say("Category name = " + CategoryName);
      Say("Counter name  = " + CounterName);
      Say("Instance name = " + InstanceName);
      PerformanceCounter pc
       = new PerformanceCounter(CategoryName,CounterName,InstanceName);
      Say("Performance counter was created.");
      Say("Property CounterType: " + pc.CounterType);
      Say();  Say("Property CounterHelp: " + pc.CounterHelp);
      Say();
      Say("Entering measurement loop.");  while (true)
      {
       Thread.Sleep(1000); // wait for 1 second
       float cpuLoad = pc.Nextvalue();
       Say("CPU load = " + cpuLoad + " %.");
      }
     } // constants used to select the performance counter.
     private const string CategoryName = "Processor";
     private const string CounterName  = "% Processor Time";
     private const string InstanceName = "_Total";
    }这是在我计算机上的计算结果:
    Entering measurement loop.
    CPU load = 0 %.
    CPU load = 1.941746 %.
    CPU load = 4.854369 %.
    CPU load = 10 %.
    CPU load = 0 %.
    CPU load = 2.999997 %.
    CPU load = 0.9900987 %.
    CPU load = 0 %.