怎样和硬盘和内存的大小?

解决方案 »

  1.   

    硬盘:
    BOOL GetDiskFreeSpace(
      LPCTSTR lpRootPathName,    // pointer to root path
      LPDWORD lpSectorsPerCluster,  // pointer to sectors per cluster
      LPDWORD lpBytesPerSector,  // pointer to bytes per sector
      LPDWORD lpNumberOfFreeClusters,
                                 // pointer to number of free clusters
      LPDWORD lpTotalNumberOfClusters 
                                 // pointer to total number of clusters
    );
      

  2.   

    内存:
    VOID GlobalMemoryStatus(
      LPMEMORYSTATUS lpBuffer   // pointer to the memory status structure
    );
      

  3.   

    typedef struct _MEMORYSTATUS { // mst 
        DWORD dwLength;        // sizeof(MEMORYSTATUS) 
        DWORD dwMemoryLoad;    // percent of memory in use 
        DWORD dwTotalPhys;     // bytes of physical memory 
        DWORD dwAvailPhys;     // free physical memory bytes 
        DWORD dwTotalPageFile; // bytes of paging file 
        DWORD dwAvailPageFile; // free bytes of paging file 
        DWORD dwTotalVirtual;  // user bytes of address space 
        DWORD dwAvailVirtual;  // free user bytes 
    } MEMORYSTATUS, *LPMEMORYSTATUS; 
      

  4.   

    硬盘使用:lpTotalNumberOfClusters ×lpSectorsPerCluster×lpBytesPerSector就是总的空间。
    物理内存大小直接可以从返回的结构体变量中的dwAvailPhys获得!