IFileOperationProgressSink.PreRenameItem
- самая близкая поддерживаемая вещь, о которой я знаю. К сожалению, это не хук в Explorer - так что вы можете использовать его только для своих IFileOperation
действий. В зависимости от ваших потребностей, вы можете написать расширение оболочки, чтобы сделать свой собственный ConfirmRename
(или что-то еще), и перейти оттуда.
В противном случае, вы думаете о подключении SHFileOperation
, я думаю. Это должно быть сделано в неуправляемом коде, так как вы будете загружены в Explorer.exe. Для Vista это было изменено на IFileOperation
- что, вероятно, означает, что вам придется перехватить его создание и передать свой макет.
Лично я думаю, что поскольку вы говорите о переименовании, идея Вильгельмтелла о подтверждении после изменения и отмене его при необходимости - лучшая идея.