拖放过滤器

时间:2014-05-09 01:16:57

标签: winapi drag-and-drop

适用于Windows XP,7或8.任何风格。用ANSI C和Win32编程。

我想编写一个用于拖放的过滤器,但在被删除时会要求新的文件名。想法是将文件拖到过滤器(可能在桌面上),然后用新名称响应过滤器的提示,然后继续拖放。

我已经尝试过.BAT文件,并确定可以编写这样的过滤器。但是在我的实验中,掉落发生在拖动起源的同一个文件夹中。

所以我的问题与在获得新名字后继续拖动有关。

我已经尝试过检查如何做但是失败了。

有没有人有一些指针(文档,URL,stackoverflow引用等)可能会让我了解如何在获得新名称后继续拖放?

2 个答案:

答案 0 :(得分:1)

如果您要创建自己的HWND,可以通过DragAcceptFiles()RegisterDragDrop()接受丢弃,那么您会收到丢弃通知,但可以完全控制丢弃实际执行的操作。只需提取已删除的文件名以了解源文件,然后提示用户输入目标文件名,然后根据需要将源文件复制到目标文件。您无法更改要删除的源文件名,删除的数据是只读的。

如果您在执行此操作时遇到问题,请提供您遇到问题的实际代码。

答案 1 :(得分:0)

这是从一个文件夹到另一个文件夹的正常拖放。我想在删除文件名时添加扩展名。用户将文件放到我的应用程序上,然后应用程序将添加新的扩展,然后应用程序将拖放继续。

将其想象为从文件夹拖到另一个文件夹,然后使用F2重命名删除的文件。但我希望重命名是自动化的。

我还没有任何消息来源......首先我想知道这是否可能。