典型的Win32文件删除(IDropTarget::drop)实现

Typical Win32 file drop (IDropTarget::Drop) implementation?

本文关键字:drop 实现 IDropTarget Win32 文件 删除 典型的      更新时间:2023-10-16

我正在尝试在没有MFC的C++中制作一个类似Windows资源管理器的程序。

它有一个列表视图,显示文件系统目录和文件。

我想为列表视图添加投放目标功能,

所以我实现了IDropTarget接口并注册了hwnd。

使用IDropTargetHelper,我简单地实现了所需的拖动&跌落效应在DragEnter、DragOver、DragLeave方法中。

但是在Drop方法中,dropTargetHelper却无能为力。

我的列表视图只接受文件删除。

我应该为自己实现删除文件的COPY、MOVE、LINK操作吗?

或者有一个简单的shell文件操作帮助程序可以接受丢弃的IDataObject吗?


编辑:

我知道如何从删除的对象中获取文件名,而且文件复制很容易。

但我认为可能还有更多的事情需要考虑:例如,创建一个文件链接,源项目是虚拟的,等等

所以我想知道Windows shell中是否有辅助方法。

教科书中的例子是MSDN中的例子。一定要阅读新旧事物的文章1和2。