某些相关文件类型(.zip、.rar、...)的文件删除机制

File-Drop mechanism of some associated filetypes (.zip, .rar,...)

我想知道,像 WinRAR 这样的文件管理器如何管理它以启用对其存档文件的拖放支持(当文件被拖放到 .rar 文件上时,它会打开并且 WinRAR 可以选择将文件添加到存档).

演示图片:

编辑:经过一些评论,我想澄清我想做什么(见图):

  1. 某种数据类型的文件接受丢弃请求(.rar)。
  2. 删除文件 (.txt) 会导致 Shell 调用传递 删除的文件 (.txt) 的名称以及接受 Drop (.rar) 的文件。
  3. 注册到文件类型的应用程序被调用,两个文件名都在命令行中提供给它。

您需要实现一个 Shell 放置处理程序

这是一个实现 IPersistFileIDropTarget 接口的 COM 对象。 IPersistFile 会告诉您哪个文件被拖放到哪个文件上。 IDropTarget 会给你一个 IDataObject 告诉你哪个 files/data 被丢弃了。

文档在这里: