Зацепите COM-интерфейс IFileOperation,перетащите файл в корзину
Я подключаю COM-интерфейс IFileOperation,копирую, вставляю, удаляю, переименовываю его нормально,я могу получить какой-то журнал, который я хотел,но когда я перетаскиваю файлы в корзину,DeleteItem и DeleteItems не выполняются,MoveItem также не выполняются, почему? Этот вопрос беспокоил меня уже давно,кто может сказать мне причину,что я должен делать.
Спасибо!
извините мой английский очень плох
Jochen Arndt
Хороший вопрос, который заслуживает одобрения.
У меня нет ответа, но есть возможное объяснение:
При выполнении операций перетаскивания цель перетаскивания отвечает за выполнение этой операции. Это проводник Windows для мусорной корзины. Перемещение файла в корзину не является нормальным перемещением (исходная информация о файле также должна быть сохранена). Этот процесс был изменен с Vista.
Таким образом, все связанные операции выполняются проводником Windows, а не системой (игнорируя тот факт, что проводник является неотъемлемой частью системы). Когда проводник не использует "обычные" операции с системными файлами, но низкоуровневые или системные внутренние функции, вы не поймаете их на крючок.
Получаете ли вы крючок при удалении файла из Проводника?
Member 11562680
Спасибо!
Я могу подключить com-интерфейс IFileOption в проводнике,если я удалил файл,я могу получить путь к файлу, тип файла и так далее.
Я не знаю, что мне делать, когда я перетаскиваю файлы в корзину
Jochen Arndt
Папка "корзина" - это специальная папка, в которой файлы обрабатываются не так, как в других папках (за исключением случаев их окончательного удаления). При удалении файла он перемещается в папку корзины (фактически подпапку пользователя, выполняющего удаление) с использованием нового скрытого имени, а исходная информация о файле (имя и путь, даты, атрибуты) сохраняется в метаданных. Эти метаданные считываются проводником для отображения содержимого папки.
Но я до сих пор не могу ответить, почему поведение отличается между обычным удалением и перетаскиванием.
0x01AA
Можете ли вы наблюдать то же самое при перетаскивании в другую папку, кроме корзины?
Member 11562680
Спасибо!
Я не могу наблюдать то же самое при перетаскивании в другую папку, кроме корзины
Я могу подключить com интерфейс IFileOption в проводнике