在网上找了好长时间没有找到相应的资料,而且以下的代码在XP系统上运行可以,到WIN7或者2008系统上就行不通了,大家有这方面的资料吗?能提供些参考也行啊 谢谢大伙了 
//内存信息                                        private void GetMemoryStatus()
                    {
                        MEMORY_INFO MemInfo;
                        MemInfo = new MEMORY_INFO();
                        GlobalMemoryStatus(ref MemInfo);
                        
                        long totalMb = Convert.ToInt64(MemInfo.dwTotalPhys.ToString()) / 1024 / 1024;
                        long avaliableMb = Convert.ToInt64(MemInfo.dwAvailPhys.ToString()) / 1024 / 1024;
                        long UsedMb = totalMb - avaliableMb;
                        Console.WriteLine("物理内存共有" + totalMb + " MB");
                        Console.WriteLine("可使用的物理内存有" + avaliableMb + " MB");
                        Console.WriteLine("已用的物理内存为"+UsedMb+"MB");
                    }  //CPU温度
            Double CPUtprt = 0;
            ManagementObjectSearcher mos = new ManagementObjectSearcher(@"root\WMI", "Select * From MSAcpi_ThermalZoneTemperature");
            
            foreach (ManagementObject mo in mos.Get())
            {                CPUtprt = Convert.ToDouble(Convert.ToDouble(mo.GetPropertyValue("CurrentTemperature").ToString()) - 2732) / 10;                Console.WriteLine("CPU 溫度 : " + CPUtprt.ToString() + " °C");            }