Существует ли ICopyHook.CopyCallback для файлов или альтернатива для него? - PullRequest
2 голосов
/ 09 августа 2011

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

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

1 Ответ

2 голосов
/ 09 августа 2011

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

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

...