为什么FileSystemWatcher不触发事件?

  • 回答 (2)
  • 关注 (0)
  • 查看 (82)

出于某种原因,我的FileSystemWatcher也不会引发任何事件。我想知道新文件何时在我的目录中被创建、删除或重命名。_myFolderPath正在正确设置,我已经检查过了。

以下是我的当前代码:

public void Setup() {
    var fileSystemWatcher = new FileSystemWatcher(_myFolderPath);
    fileSystemWatcher.NotifyFilter = NotifyFilters.LastAccess | 
      NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;

    fileSystemWatcher.Changed += FileSystemWatcherChanged;
    fileSystemWatcher.Created += FileSystemWatcherChanged;
    fileSystemWatcher.Deleted += FileSystemWatcherChanged;
    fileSystemWatcher.Renamed += FileSystemWatcherChanged;

    fileSystemWatcher.Filter = "*.*";
    fileSystemWatcher.EnableRaisingEvents = true;
}

private void FileSystemWatcherChanged(object sender, FileSystemEventArgs e)
{
    MessageBox.Show("Queue changed");
    listBoxQueuedForms.Items.Clear();
    foreach (var fileInfo in Directory.GetFiles(_myFolderPath, "*.*", SearchOption.TopDirectoryOnly))
    {
        listBoxQueuedForms.Items.Add(fileInfo));
    }
}
隨心之所願隨心之所願提问于
liqoeiSA回答于

例如,将文件(单击并拖动)从桌面移动到监视位置并不会引发事件,而是复制现有文件并粘贴该文件的新副本(通过在文件系统中创建新文件而不是简单地移动现有文件)将触发Changed事件。

watcher.NotifyFilter = NotifyFilters.Attributes |
    NotifyFilters.CreationTime |
    NotifyFilters.FileName |
    NotifyFilters.LastAccess |
    NotifyFilters.LastWrite |
    NotifyFilters.Size |
    NotifyFilters.Security;

回答过的其他问题

大叔变软萌女声,实时语音趣味变声是如何实现与应用的?

还可以应用在狼人杀呀!腾讯云游戏多媒体引擎产品可以提供画面清晰度与音质优先的实时音视频服务,针对狼人杀场景特别定制,满足玩家所有音视频交互需求。

在接入Gvoice游戏语音是,打安卓debug包语音正常,但是打release包语音就不正常了,没有弹获取麦克风限权的提示框,日志里看到20481的错误。

这个是引擎内部错误,如果开通了语音服务的话,明天

未修饰的JDialog边框

你可以这样做: ((JPanel)getContentPane()).setBorder(BorderFactory.createLineBorder(Color.BLUE)); 📷 您可以尝试执行此操作以更改最大的边界: getRootPane().setBorder(...... 展开详请

根据关键字Pandas DF提取列名称

因为'num'总是在'numbers'你可以检查列是否包含'num'

例如:

df.columns[df.columns.str.contains('num')]

Index(['my_numbers', 'nums'], dtype='object')

Radius服务器不回复Meraki AP的Access-Request

我有一个非常类似的设置,我最近遇到了同样的问题。这就是为我解决问题的原因。在您指定Radius属性的网络策略设置中,添加值为1344或更低的Framed-MTU属性(我使用了1000),这解决了我的问题。希望如果你还没有解决它,这对你有用。

cmd如何在内存中布置变量

事实证明,在这种特殊情况下,混淆脚本也试图使用空格和等号,不知道为什么或如何,但我认为它与使用斜线结束/之前的事实有关,然后再添加另一个命令&& 因此对于: set foo=ASCIIchars bar=moreASCIIchars/&& foo完全按照ascii中的说明布置...... 展开详请

所属标签

扫码关注云+社区