⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 用vb6.htm

📁 用VB6制作的在线升级程序,仅供参考,各位爱好者可以在源码基础上进行完善
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0055)http://vbworld.sxnw.gov.cn/articles/internet/tvb14.html -->
<HTML><HEAD><TITLE>用VB6</TITLE>
<META content="MSHTML 6.00.2900.2604" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId>
<META http-equiv=Content-Type content="text/html; charset=gb2312"></HEAD>
<BODY><SPAN id=ArticleContent1_ArticleContent1_lblContent>
<DIV align=center>
<CENTER>
<TABLE id=AutoNumber1 style="BORDER-COLLAPSE: collapse" borderColor=#111111 
cellSpacing=0 cellPadding=0 width=700 border=0>
  <TBODY>
  <TR>
    <TD width="100%"><SPAN id=ArticleContent1_ArticleContent1_lblContent0>
      <P class=MsoNormal 
      style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; TEXT-ALIGN: center" 
      align=left><B><SPAN 
      id=ArticleTitle1_ArticleTitle1_lblTitle>用VB6.0编写自我升级的程序</SPAN></B>&nbsp;&nbsp;&nbsp;&nbsp; 
      </P>
      <P class=MsoNormal 
      style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; TEXT-ALIGN: center" 
      align=left>douhapy [<SPAN 
      id=ArticleTitle1_ArticleTitle1_lblType>原作</SPAN>]</P></SPAN>
      <P> </P></TD></TR>
  <TR>
    <TD width="100%"><SPAN id=ArticleContent1_ArticleContent1_lblContent1>
      <P class=MsoNormal 
      style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; TEXT-ALIGN: left" 
      align=left><SPAN 
      style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">曾经有位网友和我讨论怎样编写一个通过服务器对客户机上的程序进行自我升级的问题,由于我的项目也涉及到自我升级,当时我把我的解决方案提了出来,那就是做一个类似于瑞星的升级程序。在这里我也发现了很多的网友对这个问题很困惑,故我愿意把我的设计方案写出来与大家共享,大家也可以通过这个思路用其他语言进行改写。</SPAN></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
      align=left><SPAN 
      style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体"></SPAN>&nbsp;</P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
      align=left><B><SPAN 
      style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">以下是我的具体思路:</SPAN></B></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
      align=left><SPAN 
      style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体">写两个程序,一个是主程序;一个是升级程序(升级程序放在服务器上);</SPAN></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
      align=left><SPAN 
      style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体">说明:所有升级任务都由升级程序完成。</SPAN></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
      align=left><SPAN 
      style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体"></SPAN>&nbsp;</P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
      align=left><SPAN 
      style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体">1.启动升级程序,升级程序连接到网站,下载新的主程序(当然还包括支持的库文件等)到临时文件夹;</SPAN></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
      align=left><SPAN 
      style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体">2.升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序(同时记下主程序的状态);</SPAN></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
      align=left><SPAN 
      style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体">3.删除旧的主程序,拷贝临时文件夹中的文件到相应的位置,同时注册相应的文件;</SPAN></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
      align=left><SPAN 
      style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体">4.检查主程序的状态,若状态为活动的,则启动新的主程序;</SPAN></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
      align=left><SPAN 
      style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体">5.关闭升级程序。</SPAN></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
      align=left><SPAN 
      style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体">6.祝贺你,升级完成。</SPAN></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
      align=left><SPAN 
      style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体"><STRONG><FONT 
      color=#a0a0a0>由于网友提出了关于升级这个升级程序的问题,以下是对其思路进行的一点补充,但原文仍然是升级主程序的,具体代码需读者自己添加:</FONT></STRONG></SPAN></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
      align=left><SPAN 
      style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体">7.主程序升级完毕;<BR>8.升级程序继续检查所下载的临时文件中是否含有NewUpdate.exe(新的升级程序)和rename.exe(是一个可以更改文件名的程序);<BR>9.若存在以上两个文件,表示要更新Update.exe文件;启动rename.exe程序,同时update.exe关掉自己;<BR>10.rename.exe程序检测update.exe是否已被关掉,若已关掉,删除该update.exe。移动临时文件夹中的NewUpdate.exe文件到主程序的目录下,同时更名为update.exe;<BR>11.rename.exe关掉自己。<BR>12.OK,至此升级程序也被升级了。<BR> </SPAN></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt"></SPAN>&nbsp;</P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt"></SPAN>&nbsp;</P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt"><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">下面进行具体的程序编写,需建立三个工程,然后把它们编辑成一个组,三个工程需共用一个模块。</SPAN></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt"></SPAN>&nbsp;</P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">建立工程步骤:</SPAN></B></P>
      <P class=MsoNormal 
      style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">1.<SPAN 
      style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      </SPAN></SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">建立工程</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">proMain</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">:打开</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">vb,</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">“新建工程”,选择“标准</SPAN><SPAN 
      lang=EN-US style="FONT-SIZE: 9pt">EXE</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">”</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">, </SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">再给工程中添加模块,并且命名为</SPAN><SPAN 
      lang=EN-US style="FONT-SIZE: 9pt">modCommon</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">,修改窗体名为</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">frmMain</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">,同时修改工程名为</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">projMain</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">,然后保存到某个文件夹(譬如在桌面建立个文件夹</SPAN><SPAN 
      lang=EN-US style="FONT-SIZE: 9pt">Update</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">),窗体、模块和工程分别保存为</SPAN><SPAN 
      lang=EN-US style="FONT-SIZE: 9pt">frmMain.frm</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">、</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">modCommon.bas</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">、</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">projMain.vbp</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;</SPAN></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt"></SPAN>&nbsp;</P>
      <P class=MsoNormal 
      style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">2.<SPAN 
      style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      </SPAN></SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">建立工程</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">projNewMain</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">:点击菜单“文件</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">|</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">新建工程”</SPAN><SPAN 
      style="FONT-SIZE: 9pt"> </SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">,选择“标准</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">EXE</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">”,点击菜单“工程</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">|</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">添加模块”,在弹出的对话框中选择“现存”标签,定位到</SPAN><SPAN 
      lang=EN-US style="FONT-SIZE: 9pt">Update</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">文件夹,选中</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">modCommon.bas</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">模块。修改窗体名为</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">frmNewMain</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">,同时修改工程名为</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">projNewMain</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">,然后保存到</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">Update</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">文件夹,窗体和工程分别保存为</SPAN><SPAN 
      lang=EN-US style="FONT-SIZE: 9pt">frmNewMain.frm</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">、</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">projNewMain.vbp</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;</SPAN></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt"></SPAN>&nbsp;</P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt"></SPAN>&nbsp;</P>
      <P class=MsoNormal 
      style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">3.<SPAN 
      style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      </SPAN></SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">建立工程</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">projUpdate</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">:点击菜单“文件</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">|</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">新建工程”</SPAN><SPAN 
      style="FONT-SIZE: 9pt"> </SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">,选择“标准</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">EXE</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">”,点击菜单“工程</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">|</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">添加模块”,在弹出的对话框中选择“现存”标签,定位到</SPAN><SPAN 
      lang=EN-US style="FONT-SIZE: 9pt">Update</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">文件夹,选中</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">modCommon.bas</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">模块。修改窗体名为</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">frmUpdate</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">,同时修改工程名为</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">projUpdate</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">,然后保存到</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">Update</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">文件夹,窗体和工程分别保存为</SPAN><SPAN 
      lang=EN-US style="FONT-SIZE: 9pt">frmUpdate.frm</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">、</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">projUpdate.vbp</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;</SPAN></P>
      <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt"></SPAN>&nbsp;</P>
      <P class=MsoNormal 
      style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">4.<SPAN 
      style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      </SPAN></SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">建立组:在工程</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">projUpdate</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">中,点击菜单“文件</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">|</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">添加工程</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">…</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">”在弹出的对话框中选择“现存”标签,定位到</SPAN><SPAN 
      lang=EN-US style="FONT-SIZE: 9pt">Update</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">文件夹,选择</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">projMain.vbp</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;重复该动作,选择</SPAN><SPAN lang=EN-US 
      style="FONT-SIZE: 9pt">projNewMain.vbp</SPAN><SPAN 
      style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">;保存该组即可;</SPAN></P>
      <P class=MsoNormal 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -