Winapi 通过过滤器拖放

Winapi 通过过滤器拖放,winapi,drag-and-drop,Winapi,Drag And Drop,这适用于Windows XP、7或8。任何口味的。用ANSIC和Win32编程 我想写一个用于拖放的过滤器,但是当被拖放时,它会要求一个新的文件名。我们的想法是将一个文件拖到过滤器(可能在桌面上),然后用一个新名称响应过滤器的提示,然后继续拖放 我尝试了一个.BAT文件,并确定可以编写这样的过滤器。但是,在我的实验中,拖放发生在产生拖动的同一文件夹中 因此,我的问题是在获得新名称后继续拖动 我试过检查如何做到这一点,但失败了 是否有人有一些指针(文档、URL、stackoverflow引用等)可

这适用于Windows XP、7或8。任何口味的。用ANSIC和Win32编程

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

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

因此,我的问题是在获得新名称后继续拖动

我试过检查如何做到这一点,但失败了


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

如果您正在创建自己的HWND,通过或接受拖放,则会收到拖放通知,但完全控制拖放的实际操作。只需提取删除的文件名以了解源文件,然后提示用户输入目标文件名,然后根据需要将源文件复制到目标文件。无法更改正在删除的源文件名,删除的数据是只读的


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

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

将其视为从一个文件夹拖动到另一个文件夹,然后使用F2重命名拖放的文件。但是我想自动重命名


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

谢谢,我还发现了这篇帖子:你不能“让拖放继续”。如果用户将数据放到你的应用程序上,你的应用程序负责处理丢弃的数据,而不是文件系统。您的应用程序必须使用所需的文件名创建新文件。如果用户直接进入普通文件夹、其他应用程序等,则不会通知您的应用程序。谢谢,我将放弃此想法。