gpt4 book ai didi

C++ Win32 API 删除带进度条的文件

转载 作者:行者123 更新时间:2023-11-30 02:08:39 24 4
gpt4 key购买 nike

使用 windows api,有什么方法可以删除大文件(比方说 1gb+),并以某种方式监控进度?我确信这是可能的,但我不知道从哪里开始..

编辑:应该更具体一些,我想将文件移动到回收站,并显示一个类似于探索的进度条,尽管我可能想要控制台或其他东西中的进度条,所以我不想要精确复制品。

编辑 2:是的,我猜它是即时的,应该在我问这个问题之前进行测试。无论如何只是关闭这个问题?

最佳答案

使用SHFileOperation使用 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);

更新:如问题编辑中所述,单个文件不会显示进度,但如果回收整个目录,则会显示进度。这也不允许您覆盖 UI(例如,在控制台窗口中显示进度)。

关于C++ Win32 API 删除带进度条的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6339348/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com