我必须添加一个进度条在我的AV和问题是,我不知道有多少文件提前scan.So我不知道总count.If我计数要扫描的文件,然后软暂停一段时间,因为它必须通过许多文件和在完全系统扫描的情况下,这种暂停如果持续时间很长,这不是desired.Hence我丢弃了代码。
发布于 2011-11-04 19:31:25
在更新UI之前,试图一次性获得所有文件的列表将是愚蠢的。
使用线程;一个线程用于定位文件并将其位置添加到队列中,并更新文件总数。
另一项任务是执行扫描,并更新扫描的文件数。
UI线程将基于此进行自我更新;因此上限将不断增加……或者,变得更准确。
发布于 2011-11-04 19:26:13
只需计算5级深度的文件夹,并根据扫描了多少文件夹来计算进度。增加dept以提高准确性(以预计算时间为代价)。使用本文学习如何尽可能快地枚举目录:MSDN How to: Enumerate Directories and Files
发布于 2011-11-04 19:22:30
我建议检查磁盘上有多少占用空间,并根据密度:每GB文件数来评估文件数量。首先,您必须假设有多少文件存储在1 GB (对于我的系统是3860)在扫描期间,您将知道什么是实际的扫描硬盘密度,以便您可以调整文件的数量。
在扫描期间调整文件总数是我能想到的最好的方法,作为你的应用程序的用户,我更想要它,而不是等到你计算机器上的所有文件。
https://stackoverflow.com/questions/8008364
复制相似问题