如何获取EXE文件安装后的路径?

东方之珠 2007-04-05 05:59:31
如何获取EXE文件安装后的路径?
...全文
796 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
找app.path吧
northwolves 2007-04-06
  • 打赏
  • 举报
回复
'WINRAR安装路径
Sub GetWINRARPath()
Dim WSH As Object
Set WSH = CreateObject("Wscript.Shell")
MsgBox "WINRAR安装路径:" & WSH.RegRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\winrar.EXE\Path")
End Sub


'EXCEL安装路径

Sub GetEXCELPath()
Dim WSH As Object
Set WSH = CreateObject("Wscript.Shell")
MsgBox "EXCEL安装路径:" & WSH.RegRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\EXCEL.EXE\Path")
End Sub
cmdlang 2007-04-05
  • 打赏
  • 举报
回复
自己的用app.path获得
其他程序的可以查注册表
HKEY_CURRENT_USER\Software\PowerInfo\DreamPlayer\SkinPath
这是鼎点播放器的
dt168 2007-04-05
  • 打赏
  • 举报
回复
Public Function GetKeyValue(KeyRoot As Long, KeyName As String, ValueName As String, Optional ValueType As Long) As String
Dim TempValue As String ' 注册表关键字的临时值
Dim Value As String ' 注册表关键字的值
Dim ValueSize As Long ' 注册表关键字的值的实际长度
TempValue = Space(1024) ' 存储注册表关键字的临时值的缓冲区
ValueSize = 1024 ' 设置注册表关键字的值的默认长度
Dim hKey As Long
Dim i As Long
' 打开一个已存在的注册表关键字...
RegOpenKeyEx KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey

' 获得已打开的注册表关键字的值...
RegQueryValueEx hKey, ValueName, 0, ValueType, ByVal TempValue, ValueSize

' 返回注册表关键字的的值...
Select Case ValueType ' 通过判断关键字的类型, 进行处理
Case REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ
TempValue = Left$(TempValue, ValueSize - 1) ' 去掉TempValue尾部空格
Value = TempValue
Case REG_DWORD
ReDim dValue(3) As Byte
RegQueryValueEx hKey, ValueName, 0, REG_DWORD, dValue(0), ValueSize
For i = 3 To 0 Step -1
Value = Value + String(2 - Len(Hex(dValue(i))), "0") + Hex(dValue(i)) ' 生成长度为8的十六进制字符串
Next i
If CDbl("&H" & Value) < 0 Then ' 将十六进制的 Value 转换为十进制
Value = 2 ^ 32 + CDbl("&H" & Value)
Else
Value = CDbl("&H" & Value)
End If
Case REG_BINARY
If ValueSize > 0 Then
ReDim bValue(ValueSize - 1) As Byte ' 存储 REG_BINARY 值的临时数组
RegQueryValueEx hKey, ValueName, 0, REG_BINARY, bValue(0), ValueSize
For i = 0 To ValueSize - 1
Value = Value + String(2 - Len(Hex(bValue(i))), "0") + Hex(bValue(i)) + " " ' 将数组转换成字符串
Next i
End If
End Select

' 关闭注册表关键字...
RegCloseKey hKey
GetKeyValue = Trim(Value) ' 返回函数值
End Function
dt168 2007-04-05
  • 打赏
  • 举报
回复
'从注册表中查找安装目录
s = GetKeyValue(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\安装的软件", "DisplayIcon")
strtmp = Left(s, Len(s) - InStrRev(s, "\", -1))
饮水需思源 2007-04-05
  • 打赏
  • 举报
回复
在代码中可有app.path来获取程序当前路径

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧