如何获得当前电脑的硬盘的容量和转速,内存的大小?

解决方案 »

  1.   

    string strResult; ManagementClass diskClass = new ManagementClass("Win32_LogicalDisk"); ManagementObjectCollection disks; 
    disks = diskClass.GetInstances(); 
    foreach( ManagementObject disk in disks) 

    strResult = ""; strResult += "设备ID:" + disk["DeviceID"]; strResult += "磁盘名称:" + disk["Name"]; strResult += "磁盘卷标:" + disk["VolumeName"]; if( disk["FileSystem"].ToString() != "" ) 

    strResult += "文件系统:" + disk["FileSystem"]; strResult += "磁盘描述:" + disk["Description"]; if( System.Convert.ToInt64(disk["Size"]) > 0 ) 

    strResult += "磁盘大小:" + System.Convert.ToInt64(disk["Size"].ToString()); 

    strResult += "磁盘类型:" + System.Convert.ToInt16(disk["DriveType"].ToString()); 

    Response.Write(strResult); 

      

  2.   

    using System.Managementhttp://bczs.net/xml/2006/4/3/4659646.xml转速似乎取不到。
      

  3.   

    DllImport("kernel32")] 
    public static extern void GetSystemInfo(ref CPU_INFO cpuinfo); 
    获得CPU相关信息
    [DllImport("kernel32")] 
    public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo); 
    获得内存的相关信息
    [DllImport("kernel32")] 
    public static extern void GetSystemTime(ref SYSTEMTIME_INFO stinfo); 
    获得系统时间
    //定义CPU的信息结构
    [StructLayout(LayoutKind.Sequential)] 
    public struct CPU_INFO 

    public uint dwOemId; 
    public uint dwPageSize; 
    public uint lpMinimumApplicationAddress; 
    public uint lpMaximumApplicationAddress; 
    public uint dwActiveProcessorMask; 
    public uint dwNumberOfProcessors; 
    public uint dwProcessorType; 
    public uint dwAllocationGranularity; 
    public uint dwProcessorLevel; 
    public uint dwProcessorRevision; 
    }//定义内存的信息结构
    [StructLayout(LayoutKind.Sequential)] 
    public struct MEMORY_INFO 
    {
    public uint dwLength;
    public uint dwMemoryLoad; 
    public uint dwTotalPhys; 
    public uint dwAvailPhys; 
    public uint dwTotalPageFile; 
    public uint dwAvailPageFile; 
    public uint dwTotalVirtual; 
    public uint dwAvailVirtual; 
    }//定义系统时间的信息结构
    [StructLayout(LayoutKind.Sequential)] 
    public struct SYSTEMTIME_INFO 

    public ushort wYear; 
    public ushort wMonth; 
    public ushort wDayOfWeek; 
    public ushort wDay; 
    public ushort wHour; 
    public ushort wMinute; 
    public ushort wSecond; 
    public ushort wMilliseconds; 
    } 调用代码可以上网查一下