15598.html

来自「以电子书的形式收集了VB一些常见问题解决方法,可以很方便的查找自己需要解决的问题」· HTML 代码 · 共 23 行

HTML
23
字号
<html>
  <head>
    <title>移除vb做的程式不是用uninstal.exe</title>
  </head>
  <body bgcolor="#FFFFFF" vlink="#808080">
    <center>
      <h1>移除vb做的程式不是用uninstal.exe</h1>
    </center>
<hr size=7 width=75%>

<hr size=7 width=75%><p>
Posted by <a href="mailto:honey0@cts1.seed.net.tw">Honey</a> on July 13, 1999 at 18:27:11:<p>
In Reply to: <a href="15579.html">请教一个大家应该会的,反安装程式</a> posted by simon on July 13, 1999 at 12:51:08:<p>
st5unst.log这是不能移除的<br>否则也别想移除程式了<br>原理简单讲一下  因为装封暨部署精灵是微软做的<br>原先设定就是要在控制台移除 若要在所属程式集的目录底下<br>建立移除程式 只有自己多写一个啰<br>也几样东西一定要知道<br>VB6移除方法如下<br>C:\WINDOWS\st6unst.exe -n "C:\Program Files\Reda\ST6UNST.LOG"<br>若是vb6则为<br>C:\WINDOWS\st5unst.exe -n "C:\Program Files\Reda\ST5UNST.LOG"<br>知道是哪里不同了吧<br>vb6改法也一样 把5改成4<br>做出的程式 在装封暨部署精灵在"包含档案"时记得加入<br>自己写的移除程式<br>执行到到"开始功能表的项目"时 按"新增项目"<br>目的档案是自己写的移除程式<p>移除程式 我的写法如下<br>首先开启新专案<br>2.移除Form1<br>3.新增一个模组<br>4.在模组贴上以下程式<br>Private Declare Function FindFirstFile Lib _<br>"kernel32" Alias "FindFirstFileA" (ByVal _<br>lpFileName As String, lpFindFileData _<br>As WIN32_FIND_DATA) As Long<br>'/*来寻找档案*/<br>Private Declare Function GetWindowsDirectory _<br>Lib "kernel32" Alias "GetWindowsDirectoryA" ( _<br>ByVal lpBuffer As String, ByVal nSize As Long) As Long<br>'/*Windows路径*/<p>Private Const MAX_PATH = 260 '/*档案最长长度*/<br>Private Type FILETIME<br>        dwLowDateTime As Long<br>        dwHighDateTime As Long<br>End Type<br>Private Type WIN32_FIND_DATA<br>        dwFileAttributes As Long<br>        ftCreationTime As FILETIME<br>        ftLastAccessTime As FILETIME<br>        ftLastWriteTime As FILETIME<br>        nFileSizeHigh As Long<br>        nFileSizeLow As Long<br>        dwReserved0 As Long<br>        dwReserved1 As Long<br>        cFileName As String * MAX_PATH<br>        cAlternate As String * 14<br>End Type<br>Option Explicit<br>Public Sub Main()<br>Dim StrFileName As String, WD As WIN32_FIND_DATA<br>Dim StrVersion As String<br>WD = GetUnFile(App.Path) '/*将路径传入 传回找到档案的资讯*/<br>StrVersion = Mid(WD.cFileName, 3, 1)<br>'/*WD.cFileName是找到的档名 形式是ST?UNST.LOG _<br>当?=6时表示是VB6做出来的 ?=5表示是vb6做出来的 _<br>只要将档名第三个自取回即可知道版本*/<p>StrFileName = App.Path & "\ST" & StrVersion & "UNST.LOG"<br>'/*组成正确的档名*/<p>Shell GetWinPath & "\st" & StrVersion & "unst.exe -n" & Chr(34) & StrFileName & Chr(34), vbMaximizedFocus<br>'/*不同版本要用不同的解除安装程式 _<br>ST6UNST.LOG 要用ST6UNST.exe _<br>ST5UNST.LOG 要用ST5UNST.exe _<br>Chr(34)是"这个符号 因为在程式中有特别意义 _<br>是参数时要以Chr(34)替代*/<br>End Sub<br>Public Function GetWinPath() As String '/*传回Windows路径*/<br>Dim S As String * 80, Length As Long<br>Length = GetWindowsDirectory(S, Len(S))<br>GetWinPath = Left(S, Length)<br>End Function<br>Public Function GetUnFile(StrPath As String) As WIN32_FIND_DATA<br>'/*传回寻找到的档案资讯*/<br>FindFirstFile StrPath & "\ST?UNST.LOG", GetUnFile<br>End Function<p><br>
<br>
<br><hr size=7 width=75%><p>
<a name="followups">Follow Ups:</a><br>
<ul><!--insert: 15598-->
</ul><!--end: 15598-->
<br><hr size=7 width=75%><p>

</body></html>

⌨️ 快捷键说明

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