当前位置:编程学习 > VB >>

如何用VB监视文件的变动

请问用VB如何达到监视一个文件是否变动,如果变动,记录下变动的情况,希望有原码,谢谢!(后台工作类的) --------------------编程问答-------------------- 支持~! --------------------编程问答-------------------- lz可能需要给出需要监视的具体内容
--------------------编程问答-------------------- 你所指的变动是什么意思?修改了内容?属性?还是? --------------------编程问答-------------------- 也许我没有表达清楚,现在我有一个电脑工作运行自动生成的文档,它有事件时就在文档内自动改变。每天自动生成一个新的文档。我希望能看到除电脑自动改动外的人为原因,也就是说在有人为改动时就监视并记录下他所改的地方,不知道这样各位清楚了否? --------------------编程问答-------------------- 最简单的方式就是不断比对文件字节或者修改时间。API方式可以使用SHChangeNotify。
然后发现改动后,把上次载入内存的文件和本次文件比对即可得到不同处。 --------------------编程问答-------------------- 能不能写点具体的原码,谢谢!假设要比较的文件存放在c:\user\20040808.cvs
--------------------编程问答--------------------
引用 6 楼 theround 的回复:
能不能写点具体的原码,谢谢!假设要比较的文件存放在c:\user\20040808.cvs

c:\user\20040808.cvs建议写成类似ini配置文件的格式 这样比较容易按固定的项目来监控
至于是电脑自动改动还是人为原因恐怕很难区分了
代码应该不难吧
在Timer1_timer()里
定义若干个静态变量用来保存上次的内容
然后读入新的节点值来比较

有个问题需要考虑:因为要一直运行这个timer,interval设置的过大 恐怕会影响监视效果;过小系统资源消耗会过大.两难! --------------------编程问答-------------------- 请问各位,有什么其它的办法么,当然是用VB前提下,我是才接触这个,就是楼上大哥说的代码,对我来说都有点难,希望各位指点指点。 --------------------编程问答-------------------- 具体实现方法:
1、设计思路,并且确定某个文件的位置或者某些文件的存放位置,可以设计成记录集。或者监视全盘文件。
2、开始获取需记录文件的位置并且记录文件的属性、大小等,例如C:\1.TXT 的文件属性是只读的3K文件,那么可以在某个文件或数据库里进行记录。

    路径        文件属性         大小           ……
  C:\1.TXT     只读(1)        3K

3、定期或者时时扫描全盘文件,和获取时的数据进行对比,相同则PASS,不同则设置提示
4、其他功能随心情更变……
另外如果要监视文件内容是否变动的化,可以用抓取文件的修改时间进行对比的方法来实现。
具体代码没时间写,只提供思路了,如果楼主没有能力实现的化可以搜索下VB文件操作方面的书籍。
或者《VB入门与提高》一书 --------------------编程问答-------------------- 我会努力去试试的,无论如何先谢谢在那儿. --------------------编程问答-------------------- --------------------编程问答-------------------- 咋没有人回呢,高些GG,JJ们,请给点指教啊.! --------------------编程问答-------------------- 要用Subclass/ Hook等高级技术去监视文件夹和注册表。不是你初学者做得了的。 --------------------编程问答--------------------
引用 13 楼 vbadvisor 的回复:
要用Subclass/ Hook等高级技术去监视文件夹和注册表。不是你初学者做得了的。

谢谢你的帮忙,虽然是高级技术,但是能不能给点例子,让我来慢慢学习中完成呢.再高级的也应该能学吧.再次谢谢,能不能给点意见.对于 类模块和Hook只有一点点的了解,不知道你讲的是怎么实现. --------------------编程问答-------------------- shell调用Filemon软件? --------------------编程问答-------------------- 有没有VB能解决的办法?谢谢 --------------------编程问答-------------------- 我这里有一个例子,你下载后看一看
http://web.eastar-hk.com:808:/data/CESMIS/SHChangeNotifications.rar --------------------编程问答-------------------- wmi --------------------编程问答-------------------- 将监视信息写入文件,再用timer轮询。 --------------------编程问答-------------------- 不愧是结贴率0%,这么久的帖子还不结帐. --------------------编程问答-------------------- --------------------编程问答-------------------- 这个问题有点难, --------------------编程问答--------------------  
theround
 
(theround) 

等 级: 
结帖率:0.00% 
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,