【发布时间】:2019-05-02 13:43:21
【问题描述】:
我有一个基于 Raymond Chens 博客的“What a Drag”系列使用 CFSTR_FILEDESCRIPTOR 和 CFSTR_FILECONTENTS 进行拖放的工作实现:
https://devblogs.microsoft.com/oldnewthing/tag/what-a-drag
它适用于将一个或多个不存在的文件粘贴到任何资源管理器窗口。
我想要实现的下一件事是粘贴整个文件树,例如两个文件和一个包含另一个文件的文件夹。
CFSTR_FILEDESCRIPTOR 剪贴板格式可以做到这一点吗?如果没有,还有其他选择吗?
也许与TYMED_ISTORAGE 中等格式有关? (目前的解决方案只使用TYMED_HGLOBAL。)
当然,我可以在某处创建一个临时文件夹并在那里创建我的目录树。我还必须清理这个临时文件夹,然后感觉很hacky。 (我认为这就是 7-Zip 所做的。)
【问题讨论】:
-
是的,有可能。 FILEDESCRIPTOR 结构具有 dwFileAttributes 字段。只需将其设置为 FILE_ATTRIBUTE_DIRECTORY。
标签: windows drag-and-drop explorer