【问题标题】:SHFileOperation copy with custom progress bar / c++ builder带有自定义进度条的 SHFileOperation 副本/c++ builder
【发布时间】:2013-06-14 13:24:00
【问题描述】:

我使用 C++ Builder 和 SHFileOperation 从网络位置下载应用程序(其文件夹)。 WinApi 有自己的进度条,但我需要一个带有进度条的自定义表单。

如何单独跟踪复制进度,以便拥有自己的进度条? 一个简短的例子肯定会有所帮助。谢谢。

【问题讨论】:

    标签: winapi progress-bar c++builder shfileoperation


    【解决方案1】:

    SHFileOperation 不提供接收进度回调的方法。您可以接受系统提供的进度反馈对话框,也可以完全不接受任何进度报告。

    CopyFileEx 支持进度回调。但这仅适用于复制单个文件而不是整个目录。

    在 Vista 和更高版本中,IFileOperationSHFileOperation 的替代品。这个接口比SHFileOperation 更强大。您可以使用IFileOperation 复制整个目录,并接收进度通知。

    如果您需要支持 XP 或更早版本,则需要编写自己的目录复制例程。您必须计算要复制的文件的总大小,然后使用CopyFileEx 执行每个单独的文件复制。您会收到来自CopyFileEx 的进度回调,然后将它们转换为您的应用程序显示的整体进度事件。

    【讨论】:

    • 我来看看 IFileOperation。不知道,谢谢。
    猜你喜欢
    • 2013-06-02
    • 2018-04-04
    • 2018-11-25
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多