8

我想拥有

  • 一个后台线程,它将通过SHFileOperation函数复制文件,一次总是只有一个SHFileOperation(但我希望它在线程中)
  • 我需要 UI 输出,所以我需要使用FOF_SIMPLEPROGRESS标志并将某些内容传递给Wnd成员

我有两个问题

  1. 从 main 以外的线程调用SHFileOperationwithFOF_SIMPLEPROGRESS标志(用于用户交互)是否安全?
  2. 如果是,我应该将什么句柄传递给Wnd成员?我试过主窗体的句柄,但是当例如覆盖确认对话框弹出并确认时,主窗体被发送到后台,这真的很奇怪

注意:我有这些操作的队列,所以SHFileOperation当时只执行一个(完成后,线程继续执行另一个操作,下一个可能是什么SHFileOperation

非常感谢

4

1 回答 1

7
  1. SHFileOperation从主线程以外的线程调用是完全安全的。
  2. 我会0hwnd会员身份通过。如果您传递主窗口的句柄,那么我希望该窗口将被禁用,因为SHFileOperation它是一个模式对话框。由于文件确认和进度对话框是后台线程的顶级 UI,因此您不希望在显示这些模式对话框时禁用任何窗口。
于 2012-02-28T14:42:13.383 回答