У меня есть приложение WinForms с TreeView. Пользователь может перетаскивать файлы из WindowsExplorer в TreeView, а затем они могут перетаскивать файлы обратно в WindowsExplorer, что влияет на копии файлов в любом месте, где были удалены файлы. То, что я пытаюсь сделать, - если файлы уже существуют в каталоге, где файлы удаляются, я хочу переименовать файлы/папки, скопированные заблаговременно, чтобы не было столкновения.Как вы можете обнаружить, когда файлы удаляются в Проводнике Windows?
Вот как я копирую файлы в WindowsExplorer. В ItemDrag treeView я прохожу через узлы выбранного узла, а затем упаковываю его в массив. Затем я использую этот код:
var dataObject = new DataObject(DataFormats.FileDrop, files.ToArray());
dataObject.SetData(DataFormats.StringFormat, dataObject);
DoDragDrop(dataObject, DragDropEffects.Copy);
Это хорошо работает, но как только корабли прочь к Windows Explorer, это из моих рук. Как узнать, когда и где файлы копируются TO, и перехватывать их для внесения изменений? Это возможно?
Вы хотите проверить эту статью - http://www.codeproject.com/KB/shell/explorerdragdrop.aspx - для использования на C++. Это может помочь. – Kirtan