c # - Er der ICopyHook.CopyCallback for filer eller alternativ til det?

Indlæg af Hanne Mølgaard Plasc

Problem



vi bruger ICopyHook.CopyCallback shelludvidelse til at opdage sletning, flytning, oprettelse af mapper , men ikke filer Link, Sådan registreres, om brugeren er sletter en fil fra C # -programmet, eller hvordan håndteres sletningen for brugeren?
eksempel: brugeren trykker på Shift + DEL på f1.txt, så operativsystemet spørger 'Er du sikker på, at du vil slette' f1.txt '? Hvis brugeren trykker på' ja ', vil C # -programmet håndtere sletningsprocessen ved at flytter 'f1.txt' til nogle skjulte mapper {for eksempel} på gennemsigtig måde ??? [1]


Bemærk: Jeg tror, ​​FileSystemWatcher kan IKKE gøre denne opgave ..

Bedste reference


Du har brug for en filsystemfilterdriver, som vil interceptere anmodninger om filgennemgang eller filbevægelse (filen flyttes til papirkurv) og vil handle i overensstemmelse hermed.


Bemærk, at da der ikke er en sådan handling som at kopiere en fil på filsystemniveau (ICopyHook kan kun fange operationer, der udføres af Explorer selv eller via Shell API-funktioner), vil du ikke kunne spore 'kopiering' ved hjælp af filsystemfilter chauffør (eller på anden måde).