获取目录大小,像右键,属性那样的,要刷新显示,大约怎样做,用什么函数。 了解的帮忙一下。 谢谢

解决方案 »

  1.   

    使用COM
    http://www.cppblog.com/humanchao/archive/2008/07/02/55154.aspx
      

  2.   

    没有直接的函数...只能遍历目录,获得每一个文件的大小这里有完整的代码
    http://www.codeproject.com/KB/shell/DirectorySize.aspx
      

  3.   

    遍历每个文件 然后大小相加,Windows也是这么获取目录大小的.
    #include <afx.h>
    #include <stdio.h>DWORD   GetDirSize(CString   ps_Dir)
    {
    DWORD   fsize = 0;
    WIN32_FIND_DATA   filedata;
    HANDLE   filehandle; filehandle = FindFirstFile(ps_Dir   +   _T("\\*.*"),   &filedata);
    if (filehandle != INVALID_HANDLE_VALUE)
    {
    do
    {
    fsize   +=   filedata.nFileSizeLow;
    }
    while (FindNextFile(filehandle,   &filedata)); FindClose(filehandle);
    } return   fsize;
    }void main()
    {
    CString   ls_test   =   _T("E:\\mp3");
    DWORD   ld_size   =   GetDirSize(ls_test);
    printf("%d\n",ld_size);
    }
      

  4.   


    good。
    如果要获得特定文件的大小,如所有jpg文件,是不是只有自己遍历判断累加了
      

  5.   

    如果我有一个目录选择的,是checkbox的,可以加多,也可以减少。用线程来更新数据,如果我减少时,退出其中一个线程,那怎样减少里面的空间大小啊。
      

  6.   

    用Windows的shell接口好了,他怎么实现你就怎么实现