gpt4 book ai didi

delphi - 在工作线程中使用 SHFileOperation 是否安全?

转载 作者:行者123 更新时间:2023-12-03 14:53:30 24 4
gpt4 key购买 nike

我想要

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

我有两个问题

  1. 从除 main 之外的线程调用带有 FOF_SIMPLEPROGRESS 标志(用于用户交互)的 SHFileOperation 是否安全?
  2. 如果是,我应该将什么句柄传递给 Wnd 成员?我已经尝试过主窗体的句柄,但是当例如弹出覆盖确认对话框,你确认一下,主窗体就发送到后台了,真是奇怪

注意:我有一个用于这些操作的队列,因此一次只执行一个 SHFileOperation (完成后,线程继续执行另一操作,可能是下一个 SHFileOperation )

非常感谢

最佳答案

  1. 从主线程以外的线程调用 SHFileOperation 是完全安全的。
  2. 我会将 0 作为 hwnd 成员传递。如果您传递主窗口的句柄,那么我预计该窗口将被禁用,因为 SHFileOperation 是一个模式对话框。由于文件确认和进度对话框是后台线程的顶层 UI,因此您不希望在显示这些模式对话框时禁用任何窗口。

关于delphi - 在工作线程中使用 SHFileOperation 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9483588/

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