目标是取一个文件夹的大小,我试了一下,Windows中点击属性,速度比较快;
我自己写了一个sdk程序,递归扫描目录,把文件的大小累加,得文件夹的大小,速度慢了很多;请问Windows是怎么做的?知道一个文件名称,如何快速的取其大小,除了首先打开这个文件,通过文件句柄取文件大小外,还有别的取文件大小的方法吗?

解决方案 »

  1.   

    用shell提供的api 来试一试(不关心的东西要少一些)
      

  2.   

    可能系统底层比你优化得多的原因吧,它不去调用API,而直接去读文件分配表
      

  3.   

    支持“可能系统底层比你优化得多的原因吧,它不去调用API,而直接去读文件分配表”
      

  4.   

    知道一个文件名称,如何快速的取其大小,除了首先打开这个文件,通过文件句柄取文件大小外,还有别的取文件大小的方法吗?GetFileAttributesEx 或 CFile::GetStatus