在vb6中获取winzip的安装路径

时间:2010-05-17 13:40:02

标签: vb6

如何从VB6应用程序获取安装在机器中的应用程序的路径?对我来说,我需要获得WinZip的路径。

3 个答案:

答案 0 :(得分:1)

在此路径中阅读注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Nico Mak Computing\WinZip\Program\zip2exe

的路径是WinZip的安装路径

答案 1 :(得分:1)

我认为您可以使用FindExecutable API函数执行此类操作(首先在c:\ temp中创建名为test.zip的文件)。此信息取自this链接。

Const MAX_FILENAME_LEN = 260
Private Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, _ ByVal lpDirectory As String, ByVal lpResult As String) As Long

Private Sub Form_Load()
Dim i As Integer, s2 As String
Const sFile = "C:\\temp\\test.zip"

'Check if the file exists
If Dir(sFile) = "" Or sFile = "" Then
MsgBox "File not found!", vbCritical
Exit Sub
End If
'Create a buffer
s2 = String(MAX_FILENAME_LEN, 32)
'Retrieve the name and handle of the executable, associated with this file
i = FindExecutable(sFile, vbNullString, s2)
If i > 32 Then
MsgBox Left$(s2, InStr(s2, Chr$(0)) - 1)
Else
MsgBox "No association found !"
End If
End Sub

答案 2 :(得分:0)

我不知道您的要求或情况,但通常在调用外部工具时,路径和参数是可配置的。即,程序操作员可以将应用程序配置为使用WinRAR,如果他们没有安装WinZip。

如果您已经设置了配置机制,这应该非常容易实现,并且比针对某个软件的硬编码灵活得多。