当另一个进程对文本文件进行更改时,C#会收到通知

时间:2012-01-14 23:14:24

标签: c# text-files inter-process-communicat

当其他进程对特定文本文件进行更改时,我希望在我的C#应用​​程序中得到通知。

这样做的原因是我从我的应用程序启动第三方工具,以便检索有关设备的一些信息。此工具将设备的当前状态保存到ini文件中。这需要一些不确定的时间,但我想尽快做出反应并阅读状态信息。

我该怎么做?

2 个答案:

答案 0 :(得分:3)

您可以使用System.IO.FileSystemWatcher类。 像这样:

string fileToWatch = @"C:\MyFile.txt";
fileSystemWatcher = new FileSystemWatcher(fileToWatch);

void fileSystemWatcher_Changed(object sender, FileSystemEventArgs e)
{
    Debug.WriteLine(e.Name +  " has changed");
}

答案 1 :(得分:2)

您可以使用System.IO.FileSystemWatcher

监控文件更改

另请参阅Notification when a file changes?了解详情。