怎样知道系统中一个可执行文件的安装目录? ( 积分: 100 )

  • 主题发起人 主题发起人 xzsnj
  • 开始时间 开始时间
X

xzsnj

Unregistered / Unconfirmed
GUEST, unregistred user!
比如我要知道winrar.exe的绝对路径,我怎么去查找?

最好给出代码,谢谢!
 
属性里的查找目标
 
属性里的查找目标

不太明白,我其实就是知道一个可执行文件。现在想知道他在系统中的绝对路径,正好也来判断客户是否安装了这个可执行文件。现在是不知道delphi里面有没有方法就像windows里面的搜索功能那样,最后返回给我一个绝对路径。要是没有找到给我返回一个参数。
 
查一下API应该有吧~
不要找D的函数了
 
用命令行参数paramstr(0)能知道 不过好象不是你要的
看看这个http://topic.csdn.net/t/20020802/07/917293.html
 
如果程序已经运行,那么可以在进程信息里面获取exe的完整路进。
否则,对于特定程序,可以查注册表,比如qq,有固定的注册表项。
其他的,如果是系统文件,那么在那些可能的目录里面穷举查找一下,
剩下的,如果是安装过的程序,可以搜索注册表内的安装信息,看看能否找到线索。
再不行,只能磁盘下每个目录查找过去,耗费的时间是相当多的。
 
读取注册表
 
如果是一个经安装产生的文件, 可以通过注册表
如果是正在运行的程序, 可以通过进程得到
如果只是一个文件, 只有象windows查找那样搜索. 可以用findfile, findnext循环递归找到
 
ExtractFilePath(Application.ExeName)
 
如果是个绿色软件的话,是不是注册表里就没有了?只能在挨个搜索
 
那是当然.
 
我最后是通过读取注册表解决的!谢谢各位
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
889
DelphiTeacher的专栏
D
D
回复
0
查看
857
DelphiTeacher的专栏
D
D
回复
0
查看
808
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部