桌面文件夹(或 C 盘)上的 FileSystemWatcher

FileSystemWatcher on folder on desktop (or C drive)

我正在创建一个检查文件夹中文件的 winforms 项目。它仅在将新文件放入文件夹时有效。我正在使用 FileSystemWatcher。在 D 盘上运行正常,但在 C 盘上运行失败。

  1. 我给了每个人对该文件夹的完全权限
  2. 我尝试通过单击一次发布它以获得完全信任应用程序。但它也失败了出版版
  3. 试图 运行 exe 文件和 visual studio 管理员身份。没有任何变化
  4. 尝试了绝对路径和额外的过滤器。

它不会引发任何错误。什么都不做。

非工作代码

string desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
teklifwatcher.Path = desktop+"\XMLTeklif";
                    teklifwatcher.NotifyFilter = NotifyFilters.LastWrite;
                    teklifwatcher.Filter = "*.xml";              
                    teklifwatcher.Changed += new FileSystemEventHandler(TeklifXML);
                    teklifwatcher.EnableRaisingEvents = true;

         private void TeklifXML(object sender, FileSystemEventArgs e)
                {
        //dostuff
        }

我自己解决了这个问题。我假设 filesystemwatcher 不能直接看 c: 驱动器文件。因为安全原因。 但是我们可以像使用任何其他应用程序一样使用 Program Files (X86) 文件夹。

遇到类似问题的任何人只需在程序 filex(x86) 的文件夹上使用 filesystemwatcher。并授予该文件夹的权限。瞧!有效