当另一个进程对特定文本文件进行更改时,我希望在我的 C# 应用程序中得到通知。
这样做的原因是我从我的应用程序中启动了一个 3rd 方工具,以检索有关设备的一些信息。此工具将设备的当前状态保存到 ini 文件中。这需要一些不确定的时间,但我想尽快做出反应并阅读状态信息。
我怎样才能做到这一点?
当另一个进程对特定文本文件进行更改时,我希望在我的 C# 应用程序中得到通知。
这样做的原因是我从我的应用程序中启动了一个 3rd 方工具,以检索有关设备的一些信息。此工具将设备的当前状态保存到 ini 文件中。这需要一些不确定的时间,但我想尽快做出反应并阅读状态信息。
我怎样才能做到这一点?
您可以使用 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");
}
您可以使用System.IO.FileSystemWatcher监视文件更改
另外,请参阅文件更改时的通知?了解更多信息。