VB.NET:检测文本文件是否打开

时间:2009-01-16 22:21:38

标签: vb.net text-files

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

3 个答案:

答案 0 :(得分:5)

使用FileSystemWatcher组件,您可以静态检测已更改,已创建,已删除和已重命名的事件。

如果您要检测上次访问权限,则需要手动设置NotifyFilter以包含LastAccess

答案 1 :(得分:1)

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

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

答案 2 :(得分:-1)

我想我会创建一个Timer来检查文件的最后修改时间....当程序启动时,它将获得最后修改时间。