文件操作进度对话框

File operation progress dialog

本文关键字:对话框 操作 文件      更新时间:2023-10-16

Windows提供了标准的组件进度对话框。它是在Windows XP中发明的。进度对话框可以通过接口为IProgressDialog的CoCreateInstance调用创建。Windows Vista为进度对话框提供了另一个(新的)用户界面。需要使用界面IOperationsProgressDialog创建进度对话框来获得新的UI。有一个组件(CLSID_ProgressDialog):它同时支持接口和UI。建议使用IOperationsProgressDialog接口。

我已经开发了命名空间扩展。它支持拖动&滴我使用场景从我的NSE:传输数据

  • IShellFolder::GetUIObjectOf->IDataObject
  • IDataObject::GetData->FILEDESCRIPTOR,FILECONTENTS
  • 文件内容->IStream
  • IStream::读取->要传输的数据

FILEDESCRIPTOR报告我的NSE需要进度UI(FD_PROGRESSUI)。复制文件时会显示"进度"对话框。此进度对话框具有由IProgressDialog界面提供的UI。我需要explorer将进度对话框与IOperationsProgressDialog的UI一起使用,但我不知道如何强制explorer这样做。我只提供IDataObject和IStream。NSE是为Windows7设计的,但进度对话框有旧的UI。在从NSE复制到资源管理器的过程中,我如何获得新的进度对话框UI?

无论所提供的对象是否也实现IOperationsProgressDialog,您都可以QueryInterface,但您应该准备好处理E_NOINTERFACE