vb问题请教:如何判断一个文件是否正在被某个进程占用?

mochuren 2009-03-12 01:52:37
我现在刚刚接触vb不久,现在做一个项目,要求能够在线检索到工作目录下有新的文件生成,并及时获取文件的数据。但文件的创建和写入数据是需要一定的时间的,我的问题是如何能够判断新生成的文件已经创建完毕,并及时打开此文件进行下一步的操作?
'******************************'
'****处理获取的工件数据文件****'
'******************************'
mypath = Dir1.Path & "\*.dgr" '获取当前工作目录
myname = Dir(mypath)
myfile = Dir1.Path & "\" & myname

If myname <> "" Then
f = FreeFile
Open myfile For Input Lock Read As f
上面的一段代码显示我是如何在线检测到新文件的生成,并打开此文件,问题是文件刚被创建,但还没有写入数据或数据未写入完,程序就能获取到新文件名,并能打开此文件进行下一步的操作,这时获得的数据是不完整的,得到的结果肯定也是错误的。
不知道那位大侠知道该如何解决这个问题,告诉小弟一下,不胜感激!
...全文
139 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fzx4936 2009-03-16
  • 打赏
  • 举报
回复
请问lz你如何知道新文件的文件名?Dir(mypath) ?
verywzm 2009-03-13
  • 打赏
  • 举报
回复
尝试把文件改名,再改回来,然后设置一个出错处理,如果出错,说明有程序占用。
嗷嗷叫的老马 2009-03-13
  • 打赏
  • 举报
回复
不需要有人顶.

你自己可以点击"将帖子提前"自己顶.

找不到的话可以使用CTRL+F搜索一下.
mochuren 2009-03-13
  • 打赏
  • 举报
回复
为什么没有人顶呢?

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧