gpt4 book ai didi

c# - 知道文件何时在 Windows 8 上更改

转载 作者:太空宇宙 更新时间:2023-11-03 13:22:25 26 4
gpt4 key购买 nike

我知道 FileSystemWatcher 类在 Windows 8 上不起作用。Why are FileSystemWatcher Attribute changes detected on Windows 7 but not Windows 8?

无论如何,我需要知道目录中的文件何时更改。例如,我的电脑上安装了 Dropbox,当我更新文件时它开始同步。 Dropbox 如何知道文件在 Windows 8 中何时更改?

我已经在 C++ 中尝试过这个解决方案 http://msdn.microsoft.com/en-us/library/aa365261我和 FileSystemWatcher 有同样的问题。问题似乎来自 Windows 8 而不是 FileSystemWatcher 类。 我可以采取什么解决方案?

最佳答案

这是我之前使用的一些代码,用于等待新的 dll 被编译,然后将其复制到某个目标文件夹,它似乎工作正常。

static void StartWatching(string path)
{
var watcher = new FileSystemWatcher();
watcher.Path = path;
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName |
NotifyFilters.DirectoryName;
watcher.Changed += watcher_Created;
watcher.Created += watcher_Created;
watcher.EnableRaisingEvents = true;

var copier = new Thread(ConsumeOutOfTheFilesToCopyQueue);
copier.Start();
}

static void watcher_Created(object sender, FileSystemEventArgs e)
{
if (e.Name.Contains("whatever.dll"))
if (!_filesToCopy.Contains(e.FullPath))
lock (_syncRoot)
if (!_filesToCopy.Contains(e.FullPath))
_filesToCopy.Enqueue(e.FullPath);
}

关于c# - 知道文件何时在 Windows 8 上更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23702378/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com