查询磁盘空间大小: SHGetDiskFreeSpace
_searchenv()可以查到当前目录中的文件。
如何根据文件名查询文件以及得到文件大小:FindFirstFile, FindNextFile。

解决方案 »

  1.   

    1.GetFreeDiskEx()磁盘空间大
    2.用CFileFind finder;
    if(finder.findfile(filename))
    {
    //exist
    }
    CFile::GetStatus 文件大小
    3.用Mediaplayer组见播放
    4.shellexe(towave)如何?
    5
    用zip来压缩如何,好像有一库的。压缩多个和压缩一个好像关系不大把?
      

  2.   

    如何查询磁盘空间大小?
    GetDiskFreeSpace
    The GetDiskFreeSpace function retrieves information about the specified disk, including the amount of free space on the disk. This function has been superseded by the GetDiskFreeSpaceEx function. New Win32-based applications should use GetDiskFreeSpaceEx. 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。如何根据文件名查询文件以及得到文件大小?
    FindFirstFile
    The FindFirstFile function searches a directory for a file whose name matches the specified filename. FindFirstFile examines subdirectory names as well as filenames. HANDLE FindFirstFile(
      LPCTSTR lpFileName,  // pointer to name of file to search for
      LPWIN32_FIND_DATA lpFindFileData 
                           // pointer to returned information
    );
    FindFirstFile用这个结构来保存文件相关信息。 
    typedef struct _WIN32_FIND_DATA { // wfd 
        DWORD dwFileAttributes; 
        FILETIME ftCreationTime; 
        FILETIME ftLastAccessTime; 
        FILETIME ftLastWriteTime; 
        DWORD    nFileSizeHigh; 
        DWORD    nFileSizeLow; 
        DWORD    dwReserved0; 
        DWORD    dwReserved1; 
        TCHAR    cFileName[ MAX_PATH ]; 
        TCHAR    cAlternateFileName[ 14 ]; 
    } WIN32_FIND_DATA; 
     
    5。如何压缩转储文件(尤其是同时压缩转储多个文件)?
    有很多winzip的DLL开发包,可以用来压缩转储多个文件。
      

  3.   

    谢谢各位!第一问和第二问解决了!to zheng_rui():
       3。如何调用mediaplay播放呢?
       4。我试验一下。
       5。zip的dll从哪儿能获取?to hujun614(胡均):
       5。能讲详细点吗?如何得到那些开发包呀?
      

  4.   

    还有,win api 中播放声音文件的api函数是什么来着?想不起来了,也没能在msdn上找到!
      

  5.   

    to shibichen(史史):
       别急嘛,问题还没讨论完呢!不过,只能给你1分,除非你也帮我找找资料。:)
      

  6.   

    GetFreeDiskEx()如何调用呀?
    我写如下代码:
    BOOL TestDisk;
    ULARGE_INTEGER * m_DiskFreeSpaceMy=NULL;
    ULARGE_INTEGER * m_DiskFreeSpaceMy1=NULL;
    ULARGE_INTEGER * m_DiskFreeSpaceMy2=NULL;
    TestDisk=::GetDiskFreeSpaceEx(NULL,m_DiskFreeSpaceMy,m_DiskFreeSpaceMy1,m_DiskFreeSpaceMy2);
    if(TestDisk)
    {
    m_DiskFreeSpace.Format("%f",m_DiskFreeSpaceMy->QuadPart);
    m_DiskFreeSpace=_T(m_DiskFreeSpaceMy->QuadPart);
    UpdateData(FALSE);
    }我想得到当前硬盘的空间大小,结果什么也没得到(三个变量全部是空),请问哪儿出错了?
      

  7.   

    mediaplayer 是windows的标准组建,是个activex 空间,毁掉吧
      

  8.   

    GetFreeDiskEx()调用问题搞定!
      

  9.   

    to zheng_rui():
       不可以直接调用它吗?
       windows自带了multimedia control,我准备用这个控件!这两个谁好?
      

  10.   

    CFile::GetStatus()静态函数,返回CFileStatus 对象,方便取回文件的各种属性,包你爽
      

  11.   

    to sunny7516huang(蜀山剑侠):
       你来迟了,已经撒分,不好意思!