怎么用autoit查找电脑中是否有某个程序并获取路径
怎么用autoit查找电脑中是否有某个程序并获取路径 如果是正常程序你安装一下并用注册表比较工具或监视工具比较一下就知道了 是全盘搜索还是指定文件夹搜索呢,论坛搜素中输入关键字“搜素”,一大堆。 回复 3# qqgghh1例如qq这个程序绝大部分人有装,怎么知道在他人电脑中qq的绝对路径 一般的程序安装之后会在注册表留下安装的目录 全盘搜索?没有其他信息的话 不知道能不能用tasklist 先列出所有的进程然后在搜索相应的进程名 笨办法就是全盘搜索,问题是这样太慢了吧 回复 8# acbs
或者知道已经运行的程序,如果没运行就全盘可以先只搜文件夹,在层层深入.. 如楼上所解,一般程序安装都在注册表中留有路径的,象赛博插件运行QQ,如果进程中有运行,也可以用函数通过进程名获取完整路径的! 话说不知道楼主要实现这个有什么意义呢?
1.通过进程名获取路径:(QQ必须被打开,且不能改名字。)#Include <WinAPIEx.au3>
$Pid = ProcessExists("QQ.EXE")
MsgBox(0,0,_WinAPI_GetModuleFileNameEx($pid))2.全盘搜索方法:QQ不能改名字 我的电脑6个盘符,320G,使用了60G,搜索花费时间:52秒)#include <File.au3>
$var = DriveGetDrive( "all" );所有盘符名称
If NOT @error Then
For $i = 1 to $var
_Filefind($var[$i]);针对每个盘符进行搜索
Next
EndIf
Func _Filefind($_Path)
$folder = _FileListToArray($_Path, "*", 2);找文件夹
If Not IsArray($folder) Then Return 0
For $i = 1 To $folder
$newPath = $_Path & "\" & $folder[$i]
$file = _FileListToArray($newPath, "QQ.EXE", 1);找QQ.EXE
If @error = 0 Then
MsgBox(0,0,$newPath) ;满足条件的文件的路径
;ShellExecute($newPath&"\QQ.EXE",0);打开此文件
Else
_Filefind($newPath);当前目录下找不到再继续其它路径找
EndIf
Next
EndFunc
注册表里有找到uninstall的地方就有了 好像没有捷径可走, 有些东西.注册表可以参考不? 有些东西.注册表可以参考不?
页:
[1]
2