怎么读取注册表下DisplayName和InstallLocation的值?

imur50 2012-12-28 02:48:17

电脑安装了什么软件,这些软件的安装位置在什么地方,现在还是没有搞定。
现在想到了一个变通的办法,就是读取注册表的值:“SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall”
这个地方下面有很多安装软件的信息,我发现基本上都有DisplayName,但是很多没有InstallLocation,个别的软件,桌面的快捷方式都可以看到指向什么目录下的exe,但是注册表InstallLocation的值却是空白的

请问怎么办?

谢谢先!
...全文
831 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
imur50 2013-01-03
  • 打赏
  • 举报
回复
现在我找到了vbs的代码,但是我要改成vb使用的,下面的代码,不是完全通用,请大侠帮帮忙改一下,谢谢先: 'Written by SunZhenfang 200603 Const HKEY_LOCAL_MACHINE = &H80000002 Set Shell = CreateObject("WScript.network") strComputer = Shell.ComputerName' 此处我们通过WScript.Network得到的ComputerName为运行此段VBS脚本的计算件名,若改为其他机器的名字,并具有一定的权限,将可以得到那台计算机上已安装的软件列表 Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv") strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" objReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys Num = 0 Dim strArray() Dim strArray2() For Each Subkey in arrSubKeys strDetail = strKeyPath & "\" & SubKey objReg.EnumValues HKEY_LOCAL_MACHINE, strDetail,arrEntryNames,arrValueTypes objReg.GetStringValue HKEY_LOCAL_MACHINE, strDetail, "DisplayName", strValue If Not IsNull(strValue) Then ReDim Preserve strArray(Num+1) strArray(Num) = strValue objReg.GetStringValue HKEY_LOCAL_MACHINE, strDetail, "InstallLocation", strValue If Not IsNull(strValue) Then strArray(Num) =strArray(Num) & ",\" & strValue & "\" else strArray(Num) =strArray(Num) & ",NULL" end if Num = Num + 1 End If Next ' 将得到的结果排序 For i=0 To UBound(strArray)-1 For j=i+1 To UBound(strArray)-1 If(strArray(i)>strArray(j)) Then tmp = strArray(i) strArray(i) = strArray(j) strArray(j) = tmp End If Next Next '将得到的结果输出到一个以计算机名命名的文本文件中 Set fso = CreateObject("Scripting.FileSystemObject") Set fle = fso.CreateTextFile(strComputer + ".txt", True) For k=0 To UBound(strArray)-1 fle.WriteLine(strArray(k)) Next fle.Close()
imur50 2013-01-03
  • 打赏
  • 举报
回复
继续请教 !!!!!
贝隆 2012-12-29
  • 打赏
  • 举报
回复
楼主头像很好看

807

社区成员

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

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