使用Windows API,有没有办法删除一个大文件(比如说1GB+),并以某种方式监控进度?我确信这是可能的,但我不知道从哪里开始..
编辑:应该更具体,我想将文件移动到回收站,并显示类似于探索的进度条,尽管我可能希望在控制台或其他东西中显示进度条,所以我不需要精确的副本。
编辑2:是的,我猜它是即时的,应该在我问问题之前进行测试。
无论如何,要结束这个问题吗?
Use SH文件操作 http://msdn.microsoft.com/en-us/library/bb762164.aspx与FO_DELETE
功能和FOF_ALLOWUNDO
标志将文件移动到回收站。除非您还指定 FOF_SILENT,否则进度将自动显示。
SHFILEOPSTRUCT fileop = { 0 };
fileop.hwnd = hwndMain; /* your window */
fileop.wFunc = FO_DELETE;
fileop.pFrom = szFilePathToDelete;
fileop.fFlags = FOF_ALLOWUNDO /* | FOF_NOCONFIRMATION to recycle without prompting */;
int error = SHFileOperation(&fileop);
Update:正如问题编辑中所述,不会显示单个文件的进度,但如果回收整个目录,则会显示进度。这也不允许您覆盖 UI(例如,在控制台窗口中显示进度)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)