C# 如何在.NET程序中拦截对文件的访问

C# 如何在.NET程序中拦截对文件的访问,c#,.net,winapi,file-access,C#,.net,Winapi,File Access,我需要在系统试图访问文件时进行拦截,并在它发生之前进行一些操作 您可以使用它,但它不允许您截获事件并提前执行操作,它仅在特定文件或目录受到某种影响后通知您 拦截文件访问不是一件容易的事情 您可以编写,这是一个非托管DLL,O/S将加载该DLL。然而,这不是一项琐碎的任务 您想要实现什么,也许有一个更简单的选择?这里有一个非常类似的线程:。它可能提供了更多的见解,但@LBushkin已经提供了相同的结论。有趣的问题。什么样的访问?读、写、删除、复制 如果您需要阻止对文件的访问,那么安全性就是解决

我需要在系统试图访问文件时进行拦截,并在它发生之前进行一些操作

您可以使用它,但它不允许您截获事件并提前执行操作,它仅在特定文件或目录受到某种影响后通知您

拦截文件访问不是一件容易的事情

您可以编写,这是一个非托管DLL,O/S将加载该DLL。然而,这不是一项琐碎的任务


您想要实现什么,也许有一个更简单的选择?

这里有一个非常类似的线程:。它可能提供了更多的见解,但@LBushkin已经提供了相同的结论。

有趣的问题。什么样的访问?读、写、删除、复制

  • 如果您需要阻止对文件的访问,那么安全性就是解决方法。然后,您可以捕获访问权限并将任务委托给更高权限的执行引擎。例如,作为更高权限用户运行的服务

  • 如果要停止系统级访问,则需要一个

  • 如果所有的访问都是通过代码进行的,那么我建议使用一个库来阻止用户的访问

  • 正如其他人所提到的,有FileSystemWatcher,但我认为这篇文章是以前没有的


使用.NET不可能

< P>检查,它直接提供了C++的类似于DLL方法的改写。< / P>我可以发誓最近问这个问题,但是我找不到。你看过FraseSistMa跟Wrand类吗?FraseSistMeWalter给了我访问权限,我需要有预访问权限。