Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winapi 如何检测新的或修改过的文件_Winapi_File - Fatal编程技术网

Winapi 如何检测新的或修改过的文件

Winapi 如何检测新的或修改过的文件,winapi,file,Winapi,File,我发现有两种方法可以解决这个问题 我想知道它们之间的区别是什么,性能还是其他方面?这是为Winapi标记的,但我还是尝试一下.net 您可以使用System.IO中的FileSystemWatcher类来实现此目的 static void Main(string[] args) { FileSystemWatcher fsw = new FileSystemWatcher("C:\\"); fsw.Changed += new FileSystemEventHandler(fsw

我发现有两种方法可以解决这个问题


我想知道它们之间的区别是什么,性能还是其他方面?

这是为Winapi标记的,但我还是尝试一下.net

您可以使用System.IO中的FileSystemWatcher类来实现此目的

static void Main(string[] args)
{
    FileSystemWatcher fsw = new FileSystemWatcher("C:\\");
    fsw.Changed += new FileSystemEventHandler(fsw_Changed);
    fsw.Created += new FileSystemEventHandler(fsw_Created);
    fsw.Deleted += new FileSystemEventHandler(fsw_Deleted);
    fsw.EnableRaisingEvents = true;
    fsw.IncludeSubdirectories = true;
    fsw.Renamed += new RenamedEventHandler(fsw_Renamed);

    Console.Read();
}

static void fsw_Renamed(object sender, RenamedEventArgs e)
{
    Console.WriteLine("{0} was changed to {1}", e.OldName, e.Name);
}

static void fsw_Deleted(object sender, FileSystemEventArgs e)
{
    Console.WriteLine("{0} was deleted", e.Name);
}

static void fsw_Created(object sender, FileSystemEventArgs e)
{
    Console.WriteLine("{0} was created", e.Name);
}

static void fsw_Changed(object sender, FileSystemEventArgs e)
{
    Console.WriteLine("{0} was changed", e.Name);
}

这是为Winapi标记的,但我还是尝试一下.net

您可以使用System.IO中的FileSystemWatcher类来实现此目的

static void Main(string[] args)
{
    FileSystemWatcher fsw = new FileSystemWatcher("C:\\");
    fsw.Changed += new FileSystemEventHandler(fsw_Changed);
    fsw.Created += new FileSystemEventHandler(fsw_Created);
    fsw.Deleted += new FileSystemEventHandler(fsw_Deleted);
    fsw.EnableRaisingEvents = true;
    fsw.IncludeSubdirectories = true;
    fsw.Renamed += new RenamedEventHandler(fsw_Renamed);

    Console.Read();
}

static void fsw_Renamed(object sender, RenamedEventArgs e)
{
    Console.WriteLine("{0} was changed to {1}", e.OldName, e.Name);
}

static void fsw_Deleted(object sender, FileSystemEventArgs e)
{
    Console.WriteLine("{0} was deleted", e.Name);
}

static void fsw_Created(object sender, FileSystemEventArgs e)
{
    Console.WriteLine("{0} was created", e.Name);
}

static void fsw_Changed(object sender, FileSystemEventArgs e)
{
    Console.WriteLine("{0} was changed", e.Name);
}