例如:
我用VB写了一个(计算器程序)生成了(计算器.exe)
我又用VB写了一个(计算器程序,并且给里面添加了很多功能)生成了(更新计算器.exe)
。。
怎样实现当你双击,更新计算器.exe的时候,就将原来计算器.exe 覆盖
然后你运行计算器.exe显示的是被覆盖过的(也就是显示的是更新计算器.exe)。
我用VB写了一个(计算器程序)生成了(计算器.exe)
我又用VB写了一个(计算器程序,并且给里面添加了很多功能)生成了(更新计算器.exe)
。。
怎样实现当你双击,更新计算器.exe的时候,就将原来计算器.exe 覆盖
然后你运行计算器.exe显示的是被覆盖过的(也就是显示的是更新计算器.exe)。
不然可以通过版本检测等
Private Sub Command1_Click()
Dim WindowHwnd As LongWindowHwnd = FindWindow(vbNullString, "你程序的标题")
If WindowHwnd <> 0 Then PostMessage WindowHwnd, WM_CLOSE, 0&, 0&'如果程序已经打开就关闭它
If Dir(App.Path & "\计算器.exe") <> "" Then Kill App.Path & "\计算器.exe"
If Dir(App.Path & "\更新计算器.exe") <> "" Then
FileCopy App.Path & "\更新计算器.exe", App.Path & "\计算器.exe"
MsgBox "升级完成."
shell App.Path & "\计算器.exe"'重新打开
Else
MsgBox "更新计算器.exe不存在"
End IfEnd Sub
Private Sub Command1_Click()
Dim WindowHwnd As LongWindowHwnd = FindWindow(vbNullString, "你程序的标题")
If WindowHwnd <> 0 Then PostMessage WindowHwnd, WM_CLOSE, 0&, 0&'如果程序已经打开就关闭它
If Dir(App.Path & "\计算器.exe") <> "" Then Kill App.Path & "\计算器.exe"
If Dir(App.Path & "\更新计算器.exe") <> "" Then
FileCopy App.Path & "\更新计算器.exe", App.Path & "\计算器.exe"
MsgBox "升级完成."
shell App.Path & "\计算器.exe"'重新打开
Else
MsgBox "更新计算器.exe不存在"
End IfEnd Sub
这个不错!
你试试!
先运行update,update检查新的main文件是否存在,如存在将文件读入到temp文件里,再将旧的main文件删除,将temp文件命名为main,运行更新后的main文件,关闭update。
update成功!(期间如有错误都不会影响文件的完整性)
Private Sub Command1_Click()
Dim WindowHwnd As LongWindowHwnd = FindWindow(vbNullString, "你程序的标题")
If WindowHwnd <> 0 Then PostMessage WindowHwnd, WM_CLOSE, 0&, 0&'如果程序已经打开就关闭它
If Dir(App.Path & "\计算器.exe") <> "" Then Kill App.Path & "\计算器.exe"
If Dir(App.Path & "\更新计算器.exe") <> "" Then
FileCopy App.Path & "\更新计算器.exe", App.Path & "\计算器.exe"
MsgBox "升级完成."
shell App.Path & "\计算器.exe"'重新打开
Else
MsgBox "更新计算器.exe不存在"
End IfEnd Sub
..............................你把代码放在 Command1_Click()
那就还的给更新计算器上加一个命令按扭(我想什么也不给它添加)
更新完了这段代码还在被更新过的计算器里面(怎么将它去掉)
‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘
我想做(更新的程序)它是一个中间程序让它把旧的更新成新的
---中间程序就是执行覆盖的--
而且必须先运行中间程序才能更新
’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘'''''''''''''''''''''''''''''''
我是一个初学者
谁帮我写一下
谢谢
写的都有分
在你的程序中直接执行就可以了.
Private Sub Command1_Click()
shell app.path & "\update.exe"
End Sub