如何用VB监视文件的变动
时间:2010-04-14
来源:互联网
作者: theround 发布时间: 2010-04-14
作者: ivy999 发布时间: 2010-04-14
作者: fzx4936 发布时间: 2010-04-14
作者: Veron_04 发布时间: 2010-04-14
作者: theround 发布时间: 2010-04-15
然后发现改动后,把上次载入内存的文件和本次文件比对即可得到不同处。
作者: a1875566250 发布时间: 2010-04-15
作者: theround 发布时间: 2010-04-15
能不能写点具体的原码,谢谢!假设要比较的文件存放在c:\user\20040808.cvs
c:\user\20040808.cvs建议写成类似ini配置文件的格式 这样比较容易按固定的项目来监控
至于是电脑自动改动还是人为原因恐怕很难区分了
代码应该不难吧
在Timer1_timer()里
定义若干个静态变量用来保存上次的内容
然后读入新的节点值来比较
有个问题需要考虑:因为要一直运行这个timer,interval设置的过大 恐怕会影响监视效果;过小系统资源消耗会过大.两难!
作者: fzx4936 发布时间: 2010-04-15
作者: theround 发布时间: 2010-04-16
1、设计思路,并且确定某个文件的位置或者某些文件的存放位置,可以设计成记录集。或者监视全盘文件。
2、开始获取需记录文件的位置并且记录文件的属性、大小等,例如C:\1.TXT 的文件属性是只读的3K文件,那么可以在某个文件或数据库里进行记录。
路径 文件属性 大小 ……
C:\1.TXT 只读(1) 3K
3、定期或者时时扫描全盘文件,和获取时的数据进行对比,相同则PASS,不同则设置提示
4、其他功能随心情更变……
另外如果要监视文件内容是否变动的化,可以用抓取文件的修改时间进行对比的方法来实现。
具体代码没时间写,只提供思路了,如果楼主没有能力实现的化可以搜索下VB文件操作方面的书籍。
或者《VB入门与提高》一书
作者: xslslx 发布时间: 2010-04-16
作者: theround 发布时间: 2010-04-19
问题:1,资源用的太多,一般是100%,怎么解决?
2,我希望开机就能启用,应该如何改?
3,希望在进程中稳形,如何做?
4,如何中途退出此程序?
源码如下:
Public filename2 As String
Public breakit As Long
Public Sub Delay(HowLong As Date)
TempTime = DateAdd("s", HowLong, Now)
While TempTime > Now
DoEvents '让 windows 去处理其他事
Wend
End Sub
Private Sub Command1_Click()
Dim i As Long
Dim n As Long
Dim m As Long
checkmod.Height = 1575
m = 1
Do While Not (Command2.Value = True)
floder ("d:\check")
floder ("d:\check\filesystem")
'creatnew (Text1)
Call ini1
creatnew (Text2)
On Error Resume Next
i = FileLen(Text1)
n = FileLen(filename2)
If i = n Then
GoTo end2
ElseIf i < n Then
FileCopy Text2, "d:\check\filesystem\" & Year(Date) & "0" & Month(Date) & Day(Date) & m & ".txt"
Kill filename2
FileCopy Text1, Text2
m = m + 1
Else
Kill filename2
FileCopy Text1, Text2
end2:
End If
Delay (Text3)
If m = 21 Then m = 1 '最多里面放20个文件
If breakit = 1 Then GoTo end3
Loop
end3:
End Sub
Private Sub Command2_Click()
On Error Resume Next
'breakit = 1
checkmod.Unload 'hiden
End Sub
Private Sub Form_Load()
Me.Icon = LoadPicture()
floder ("d:\check")
floder ("d:\check\filesystem")
Call ini1
creatnew (Text2)
'filename2 = Text2
End Sub
Private Sub Text1_LostFocus()
If Text1.Text = "" Then
MsgBox "Route source Null!", 32, "worning"
Text1.SetFocus
End If
'Text1.Enabled = False
Text2.SetFocus
End Sub
Private Sub creatnew(ByVal filename As String)
If Exists(filename) Then
GoTo End1
Else
Open filename For Output As #1
Close #1
End If
End1:
End Sub
Function Exists(filename As String)
On Error Resume Next
Dim i As Integer
i = Len(Dir$(filename))
If Err Or i = 0 Then Exists = False Else Exists = True
End Function
Private Sub ini1()
month1 = Month(Date)
If month1 < 10 Then
Text1 = "c:\TCusers\log\" & Year(Date) & "0" & Month(Date) & Day(Date) & ".csv"
Else
Text1 = "c:\TCusers\log\" & Year(Date) & Month(Date) & Day(Date) & ".csv"
End If
Text2 = "d:\check\" & "syetem.txt"
End Sub
Private Sub Text2_LostFocus()
If Text2.Text = "" Then
MsgBox "Buffer path Null!", 32, "worning"
Text1.SetFocus
End If
filename2 = Text2
'Text2.Enabled = False
End Sub
Private Sub floder(ByVal flodername As String)
Dim obj As New FileSystemObject
If obj.FolderExists(flodername) = False Then
MkDir (flodername)
End If
Set obj = Nothing
End Sub
Private Sub Text3_LostFocus()
If Text.Text = "" Then
MsgBox "The check time is Null!", 32, "worning"
Text3.SetFocus
End If
'Text3.Enabled = False
End Sub
作者: theround 发布时间: 2010-04-22
作者: theround 发布时间: 2010-04-23
作者: VBAdvisor 发布时间: 2010-05-06
要用Subclass/ Hook等高级技术去监视文件夹和注册表。不是你初学者做得了的。
谢谢你的帮忙,虽然是高级技术,但是能不能给点例子,让我来慢慢学习中完成呢.再高级的也应该能学吧.再次谢谢,能不能给点意见.对于 类模块和Hook只有一点点的了解,不知道你讲的是怎么实现.
作者: theround 发布时间: 2010-05-10
作者: zhao4zhong1 发布时间: 2010-05-10
作者: theround 发布时间: 2010-05-14
http://web.eastar-hk.com:808:/data/CESMIS/SHChangeNotifications.rar
作者: CHRL 发布时间: 2010-05-14
作者: chenhui530 发布时间: 2010-05-14
作者: hyjavahy 发布时间: 2010-05-14
作者: fzx4936 发布时间: 2010-05-14

作者: SilenceNet 发布时间: 2010-05-16
作者: h5j2i6o3as9 发布时间: 2010-05-16
theround
(theround)
等 级:
结帖率:0.00%
作者: ELIANRONG6 发布时间: 2011-10-25
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28