Je dois intercepter lorsque le système tente d'accéder à un fichier et de faire quelque chose avant d'arriver. p>
5 Réponses :
Vous pouvez utiliser Intercepter l'accès au fichier n'est pas quelque chose que vous pouvez faire facilement. P>
Vous pouvez écrire un pilote de filtre du système de fichiers , qui est un DLL non géré la dll que l'O / S chargera qui peut Intercepter les opérations sur les fichiers ou les dossiers a>. Cependant, ce n'est pas une tâche triviale. P>
Qu'essayez-vous d'atteindre, peut-être une alternative plus simple? P> FileSystemwatcher code> < / a> - mais cela ne vous permet pas d'intercepter l'événement et de faire des choses avant la main - cela ne vous informe que lorsque un fichier ou un répertoire particulier a été affecté d'une manière ou d'une autre. P>
Il y a un fil très similaire ici: Comment puis-je empêcher un dossier d'être créé à l'aide d'un service Windows? . Il peut fournir un peu plus de perspicacité, mais @lbushkin a déjà fourni la même conclusion. P>
question intéressante. Quel genre d'accès? Lire, écrire, supprimer, copier? p>
Si vous devez empêcher l'accès à un fichier, la sécurité serait la voie. Ensuite, vous pouvez capturer l'accès et déléguer la tâche à un moteur d'exécution privilégié plus élevé. Comme un service fonctionnant comme un utilisateur privilégié plus élevé. P> li>
Si vous souhaitez arrêter l'accès au niveau du système, vous aurez besoin d'un Filtre IFS . P> LI>
Si tout accès est via votre code, je vous suggérerais une bibliothèque qui empêche l'accès. p> li>
Et comme d'autres personnes ont mentionné, il y a le fichier de fichiersSystemwatcher, mais je pense que ce post accès pas auparavant. P> Li> ul>
en utilisant simplement .net c'est impossible p>
vérifier http://easyhook.codeplex.com/ , il vous fournit directement de C # C ++ comme méthode DLL écraser. P>
Je pourrais jurer que cette question était juste demandée récemment, mais je ne peux pas le trouver.
Avez-vous regardé la classe FilesSystemwatcher?
Le fichier de fichiers me donne post-accès, je dois avoir un pré-accès