Есть ли ICopyHook.CopyCallback для файлов или альтернатива для него?

мы используем расширение оболочки ICopyHook.CopyCallback для обнаружения удаления, перемещения, создания папок, но не файлов Link , Как определить, удаляет ли пользователь файл из приложения C# , или Как обработать удаление операция для пользователя? пример: пользователь нажимает Shift + DEL на файле f1.txt, затем операционная система спрашивает: «Вы уверены, что хотите удалить файл f1.txt?». Если пользователь нажимает «да», приложение C# обрабатывает операцию удаления, перемещение 'f1.txt' в какую-то скрытую папку {например} прозрачным способом ???

примечание: я думаю, что FileSystemWatcher НЕ может выполнить эту задачу.


person houssam11350    schedule 09.08.2011    source источник
comment
Я почти уверен, что есть вариант, который работает и с файлами.   -  person user703016    schedule 09.08.2011


Ответы (1)


Вам нужен драйвер фильтра файловой системы, который будет перехватывать запросы на удаление или перемещение файла (файл перемещается в корзину) и действовать соответствующим образом.

Обратите внимание, что поскольку такой операции, как копирование файла на уровне файловой системы, не существует (ICopyHook может перехватывать только операции, выполняемые самим проводником или через функции API оболочки), вы не сможете отследить «копирование» с помощью драйвера фильтра файловой системы ( или любым другим способом).

person Eugene Mayevski 'Callback    schedule 09.08.2011
comment
Я установил WinDDK, попробовал несколько примеров, какая процедура/событие вызывается, когда пользователь удаляет файл??? - person houssam11350; 12.08.2011
comment
@ houssam11350 houssam11350 Если вы собираетесь написать свой собственный драйвер режима ядра и не знаете основ режима ядра, вам потребуется около 6 месяцев (как минимум), чтобы выполнить эту работу. - person Eugene Mayevski 'Callback; 12.08.2011