gpt4 book ai didi

c# - 您如何检测文件何时被放入 Windows 资源管理器?

转载 作者:行者123 更新时间:2023-11-30 13:05:58 24 4
gpt4 key购买 nike

我有一个带有 TreeView 的 WinForms 应用程序。用户可以将文件从 WindowsExplorer 拖到 TreeView,然后他们可以将文件拖回 WindowsExplorer,这实际上会将文件复制到文件被放置的位置。我想做的是,如果文件已经存在于要删除文件的目录中,我想提前重命名正在复制的文件/文件夹,这样就不会发生冲突。

下面是我将文件复制到 WindowsExplorer 的方法。在treeView的ItemDrag上,我循环遍历选中节点的节点,然后将其封装到一个数组中。然后,我使用这段代码:

        var dataObject = new DataObject(DataFormats.FileDrop, files.ToArray());
dataObject.SetData(DataFormats.StringFormat, dataObject);
DoDragDrop(dataObject, DragDropEffects.Copy);

这很好用,但是一旦它被发送到 Windows 资源管理器,它就超出了我的控制范围。我怎样才能找出文件被复制到的时间和地点并拦截它以进行更改?这可能吗?

最佳答案

Explorer Drag & Drop是一篇出色的文章,可以实现您想要实现的目标。

EDIT2:似乎有一个 C++ article可在 CodeProject 上使用。但是我无法找到使用 C# 来完成它的方法。

关于c# - 您如何检测文件何时被放入 Windows 资源管理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1090519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com