使用 C# 在 windows 中的文件打开事件中获取文件内容

get file contents on file open event in windows using c#

我试图在打开文件之前获取文件内容。我在 Internet 上对其进行了探索,但它并没有帮助我更多。这是代码:

  FileSystemWatcher watcher = new FileSystemWatcher();
  NotifyFilters.FileName |
      NotifyFilters.DirectoryName | NotifyFilters.Attributes | NotifyFilters.CreationTime;
  watcher.Changed += new FileSystemEventHandler(OnChanged);
  watcher.Created += new FileSystemEventHandler(OnChanged);
  watcher.Deleted += new FileSystemEventHandler(OnChanged);
  watcher.Renamed += new RenamedEventHandler(OnRenamed);                       
  watcher.IncludeSubdirectories = true;
  watcher.EnableRaisingEvents = true;

但它没有给我一种获取文件打开事件的方法。请帮助我找到解决方案。

如果您想在打开之前获取内容,听起来您需要一个文件系统挂钩。在这种情况下,您需要学习 windows 内核编程(这将要求您使用 C++ 或其他一些非托管语言)

除了 antivirus/backup 软件,我想不出需要这个的应用程序。

我想发布挂钩到内核的应用程序需要由 Microsoft 或受信任的实体进行代码签名。