[高分]怎么判断一个程序是否已经安装?

时间:2021-07-04 08:58:52
在判断一个程序是否安装好像很多都是看注册表信息,然后证明是否安装。有一个程序,因为我也不知道它安装好之后在注册表中有那些信息被写入,所以我想能不能像在控制面板安装删除中找到这个程序名,如有则安装,如没有则没有安装。我也不可能把所有的盘都查找一次,这样太慢。我该用什么方法很快的找到这个程序是否安装。
还有如果我找到这个程序,怎么找到它的路径呢?在注册表中可以找到这个程序的安装路径吗?或者如能判断安装还有什么方法能找到它的路径。
问题有点多,麻烦大家都说说。分不够我在开帖!

16 个解决方案

#1


一般都是读取注册表的值
每个程序都有不同的标示,如果你只是要判断特定的程序,那就研究一下那个程序有没有什么系统文件在System32里面,或者生成了什么文件在特定的文件夹里

#2


一般安装好的程序在注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache
或HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
中都能列出来.
每个程序在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall中都有一个Uninstall的exe路径,基本上也都是程序路径吧,可以分析一下.

#3


在注册表 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache遍历名字,看有没有你的文件名

#4


首先在注册表搜索,找不到再在文件夹里搜索,例如×:\Program Files\下面

#5


当然是注册表了,前面几位说的不错。

http://www.itmirror.cn

#6


引用 4 楼 sai3545 的回复:
首先在注册表搜索,找不到再在文件夹里搜索,例如×:\Program Files\下面 

#7


推广写绿色软件,无需改动注册表.

#8


如果在注册表里可以找到他的安装路径吗?因为我不想去在文件夹中遍历查找,这样很慢。

#9


一般安装好的程序在注册表 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache 
或HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 
中都能列出来. 

#10


你要判断这个做什么呢?
一般你打包的软件安装了后,如果你再次安装那打包软件都会有提示啦.

#11


呵呵,我要程序A能自动的调用B(B是自动安装的),可是我不知道B的安装路径啊。哈哈

#12


引用 10 楼 yangpeiyu 的回复:
你要判断这个做什么呢? 
一般你打包的软件安装了后,如果你再次安装那打包软件都会有提示啦.

#13


一般安装好的程序在注册表 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache 
或HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 
中都能列出来. 
每个程序在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall中都有一个Uninstall的exe路径,基本上也都是程序路径吧,可以分析一下.

#14


引用 3 楼 qjlsharp 的回复:
在注册表 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache遍历名字,看有没有你的文件名

#15


好,谢谢各位了。我知道了,看到了果然有路径。结贴了。

#16


看到了,很有用

#1


一般都是读取注册表的值
每个程序都有不同的标示,如果你只是要判断特定的程序,那就研究一下那个程序有没有什么系统文件在System32里面,或者生成了什么文件在特定的文件夹里

#2


一般安装好的程序在注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache
或HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
中都能列出来.
每个程序在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall中都有一个Uninstall的exe路径,基本上也都是程序路径吧,可以分析一下.

#3


在注册表 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache遍历名字,看有没有你的文件名

#4


首先在注册表搜索,找不到再在文件夹里搜索,例如×:\Program Files\下面

#5


当然是注册表了,前面几位说的不错。

http://www.itmirror.cn

#6


引用 4 楼 sai3545 的回复:
首先在注册表搜索,找不到再在文件夹里搜索,例如×:\Program Files\下面 

#7


推广写绿色软件,无需改动注册表.

#8


如果在注册表里可以找到他的安装路径吗?因为我不想去在文件夹中遍历查找,这样很慢。

#9


一般安装好的程序在注册表 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache 
或HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 
中都能列出来. 

#10


你要判断这个做什么呢?
一般你打包的软件安装了后,如果你再次安装那打包软件都会有提示啦.

#11


呵呵,我要程序A能自动的调用B(B是自动安装的),可是我不知道B的安装路径啊。哈哈

#12


引用 10 楼 yangpeiyu 的回复:
你要判断这个做什么呢? 
一般你打包的软件安装了后,如果你再次安装那打包软件都会有提示啦.

#13


一般安装好的程序在注册表 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache 
或HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 
中都能列出来. 
每个程序在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall中都有一个Uninstall的exe路径,基本上也都是程序路径吧,可以分析一下.

#14


引用 3 楼 qjlsharp 的回复:
在注册表 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache遍历名字,看有没有你的文件名

#15


好,谢谢各位了。我知道了,看到了果然有路径。结贴了。

#16


看到了,很有用