| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 694 人关注过本帖, 1 人收藏
标题:[求助]怎样通过检查文件修改日期来进行更新?
只看楼主 加入收藏
Nekomimi
Rank: 2
等 级:论坛游民
帖 子:80
专家分:15
注 册:2006-11-21
结帖率:100%
收藏(1)
 问题点数:0 回复次数:1 
[求助]怎样通过检查文件修改日期来进行更新?
我在程序启动的时候写的代码:
Private Sub Form_Load()
If gUserName <> "Guest" Then
s1 = "" & App.Path & "\a.exe"
s2 = "\\192.168.0.70\a\a.exe"
s3 = FileDateTime(s1)
s4 = FileDateTime(s2)
If s1 < s2 Then
a = "\\192.168.0.70\a\Update1.exe"
b = "" & App.Path & "\Update1.exe"
CopyFile a, b, False
If MsgBox("有新软件", vbExclamation + vbOKCancel, "是否安装") = vbOK Then
Shell ("" & App.Path & "\Update1.exe")
End
End If
End If
End If
End Sub

Update1的代码:
Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
Private Sub Form_Load()
If Dir("\\192.168.0.70\a\a.exe") <> "" Then
t1 = "" & App.Path & "\a.exe"
t2 = "\\192.168.0.70\a\a.exe"
t3 = FileDateTime(t1)
t4 = FileDateTime(t2)
If t1 < t2 Then
a = "\\192.168.0.70\a\a.exe"
b = "" & App.Path & "\a.exe"
CopyFile a, b, False
MsgBox "更新成功"
Shell (b)
End If
End If
Unload Me
End
End Sub

问题1:\\192.168.0.70\a\下的a.exe和目录下的a.exe是同样的,但是每次启动程序的时候,他还是会提示有新软件;
问题2:安装后提示内存不能为:read
搜索更多相关主题的帖子: 文件修改 检查 
2006-11-29 17:05
bestfeng
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:179
专家分:0
注 册:2006-10-31
收藏
得分:0 
代码不完整。没看清楚。这种方法不科学。因为日期因为copy会改变。
应当设置一个更新的文件。里面写上版本号,与现在的版本号比较。如果不一致则调用update程序,关闭该程序不是用close,用end.copy入当地,作为临时文件,然后覆盖。其中update应当有延时设置,机器速度慢内存没来的几清理可能会造成错误。update完成后,在调用原来的exe.然后彻底关掉该exe.
不过正规的比这个要严格的多,这样只是做演示用还行。
正常我认为应当设置内存驻留程序。
2006-11-29 18:11
快速回复:[求助]怎样通过检查文件修改日期来进行更新?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019477 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved