0

有什么方法可以确定文本文件当前是否在文本编辑器中打开?或者更好的是,有没有办法在打开文本文件(从任何程序)时触发事件?

4

3 回答 3

5

使用FileSystemWatcher组件,您可以静态检测 Changed、Created、Deleted 和 Renamed 事件。

如果要检测 Last Access,则需要手动设置NotifyFilter以包含LastAccess

于 2009-01-16T22:24:23.780 回答
1

当大多数编辑器打开文件时,他们通常会遵循一套策略:
1. 打开文件
2. 将全部内容读入缓冲区 3. 关闭
文件

然后你的程序运行。由于文件已经关闭,任何打开它的尝试当然都会成功。使用FileSystemWatcherthis 可以检测文件是否打开或关闭。但是,您将无法在程序运行之前检测文件是否已打开。

于 2009-01-16T22:58:11.217 回答
-1

我想我会做一个计时器来检查文件的最后修改时间......当程序启动时,它会得到最后修改时间。

于 2009-01-16T22:29:47.093 回答