getsysteminfo 吧!忘记了
   看书中………………  qq  9181729  [email protected]

解决方案 »

  1.   

    见过用汇编找CPU型号的,不知C++有函数没有。
      

  2.   

      用 Getsysteminfo , globalmemorystatus ,getdiskfreespace 这三个函数。
    Public Declare Sub GetSystemInfo Lib "kernel32" Alias "GetSystemInfo" (lpSystemInfo As SYSTEM_INFO)
    Public Declare Sub GlobalMemoryStatus Lib "kernel32" Alias "GlobalMemoryStatus" (lpBuffer As MEMORYSTATUS)
    Public Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTotalNumberOfClusters As Long) As Long
    //********
    SYSTEM_INFO是个结构体
    Public Type SYSTEM_INFO
            dwOemID As Long
            dwPageSize As Long
            lpMinimumApplicationAddress As Long
            lpMaximumApplicationAddress As Long
            dwActiveProcessorMask As Long
            dwNumberOrfProcessors As Long
    ******* dwProcessorType As Long
            dwAllocationGranularity As Long
            dwReserved As Long
    End Type
    当中,dwProcessorType是用来判断CPU类型的。 
     常见的有
     PROCESSOR_386   intel 80386
     PROCESSOR_486   intel 80486 CPU
     PROCESSOR_INTEL _PENTIUM   intel pentium CPU
    //******** 
      Public Type MEMORYSTATUS
            dwLength As Long
            dwMemoryLoad As Long
            dwTotalPhys As Long
            dwAvailPhys As Long
            dwTotalPageFile As Long
            dwAvailPageFile As Long
            dwTotalVirtual As Long
            dwAvailVirtual As Long
    End Type
    当中dwtotalphys 表示实际物理内存总量
        dwAvailphys 表示可用内存
        dwtotalVirtual 虚拟内存总量
        dwAvailvirtual 可用虚拟内存  
    //***************
    在Getdiskfreespace函数中
     lpRootpathname  指定要返回信息的磁盘根目录。
     lpSectorsPerCluster 每个簇中的扇区数
     lpBytesPerSetor     每0个扇区中的字节数
     lpNumberoffreeClusters   磁盘上可用空间的总簇数
     lpTotalNumberoffClusters 磁盘上的总簇数。
    故总量可用
      TotalNum=总簇数*每簇扇区数*每扇区字节数。