Возможно, вы сможете использовать функцию Async.js Waterfall - см. нижнюю часть большого фрагмента кода на шаге 3 этого документа для примера:
https: / /aws.amazon.com/blogs/compute/better-together-amazon-ecs-and-aws-lambda/
Можно, вероятно, решить это при помощи класса FileSystemWatcher в платформе.NET.
От комментариев класса:
Можно наблюдать за переименованием, удалением или созданием файлов или каталогов. Например, для наблюдения за переименованием текстовых файлов установите Свойство фильтра на "*.txt" и назовите метод WaitForChanged с Переименованным указанным для его параметра.
Мое предположение - то, что это не возможно, я действительно находил это, которое является для контроля операций (включая, переименовывают) на папке, но, кажется, нет похожего метода для файлов.
@Richard, FileSystemWatcher хорош, если только необходимо наблюдать изменения, но он должен прервать их, которых он не может сделать.
IFileOperationProgressSink.PreRenameItem
самая близкая поддерживаемая вещь, о которой я знаю. К сожалению, это не рычаг в Проводник - таким образом, можно только использовать его для собственного IFileOperation
действия. В зависимости от Ваших потребностей можно записать расширение оболочки, чтобы сделать собственное ConfirmRename
(или что-то), и переходят оттуда.
Иначе Вы смотрите на сцепление SHFileOperation
, Я думаю. Это должно было бы быть сделано в неуправляемом коде, поскольку Вы будете загружены в Explorer.exe. Для Vista это было изменено на IFileOperation
- который, вероятно, означает, что необходимо будет сцепить создание его и раздать насмешку.
Лично, я думаю, так как Вы говорите переименовывание, идея wilhelmtell подтвердить после того, как изменение, и отменить ее при необходимости является лучшей идеей.