如何在 C# 中通过 windows 资源管理器有效地监控系统范围 "file name change event"
How to monitor system-wide "file name change event" by windows explorer effectively in c#
只有在 windows 资源管理器中重命名文件时才需要跟踪。有什么方法可以有效地跟踪变化? "hook" 一个程序到 windows explorer 是否可以有效?
您可以在 System.IO
中使用 FileSystemWatcher
static void Main()
{
FileSystemWatcher w = new FileSystemWatcher(@"C:\temp");
w.Renamed += w_Renamed;
w.EnableRaisingEvents = true;
// Wait for the user to quit the program.
Console.WriteLine("Press \'q\' to quit the sample.");
while (Console.Read() != 'q') ;
}
static void w_Renamed(object sender, RenamedEventArgs e)
{
//Add your logic here
}
注意 FileSystemWatcher 有一些限制 http://blogs.msdn.com/b/winsdk/archive/2015/05/19/filesystemwatcher-follies.aspx
更多信息请访问 https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.changed(v=vs.110).aspx
只有在 windows 资源管理器中重命名文件时才需要跟踪。有什么方法可以有效地跟踪变化? "hook" 一个程序到 windows explorer 是否可以有效?
您可以在 System.IO
中使用 FileSystemWatcherstatic void Main()
{
FileSystemWatcher w = new FileSystemWatcher(@"C:\temp");
w.Renamed += w_Renamed;
w.EnableRaisingEvents = true;
// Wait for the user to quit the program.
Console.WriteLine("Press \'q\' to quit the sample.");
while (Console.Read() != 'q') ;
}
static void w_Renamed(object sender, RenamedEventArgs e)
{
//Add your logic here
}
注意 FileSystemWatcher 有一些限制 http://blogs.msdn.com/b/winsdk/archive/2015/05/19/filesystemwatcher-follies.aspx
更多信息请访问 https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.changed(v=vs.110).aspx