delphi 如何获取进程的全路径名

delphi 如何获取进程的全路径名,第1张

获取其它软件路径通常的方法就是读取注册表(如果那个软件有写入注册表的话),对于QQ来说也是一样的,你可以在有QQ的机器上搜索一下Tencent或者QQexe试试看,比如在偶的机器上就有HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls下就有一个D:\Tencent\QQ\Bin\QQexe(当然其它的有写入QQ安装目录的注册表还有很多) 之后就简单了,直接去读取这个位置,怎么读注册表不用说了吧。 对于那些不写注册表也没有什么文件的软件来说,要定位位置唯一的方法就是全盘搜索它的exe文件名。

获取其它软件路径通常的方法就是读取注册表(如果那个软件有写入注册表的话),对于QQ来说也是一样的,你可以在有QQ的机器上搜索一下Tencent或者QQexe试试看,比如在偶的机器上就有HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls下就有一个D:\Tencent\QQ\Bin\QQexe(当然其它的有写入QQ安装目录的注册表还有很多)

之后就简单了,直接去读取这个位置,怎么读注册表不用说了吧。

对于那些不写注册表也没有什么文件的软件来说,要定位位置唯一的方法就是全盘搜索它的exe文件名。

命名空间引用:MicrosoftWin32;

RegistryKey appPath = RegistryLocalMachineOpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\"+你要取的软件的执行程序exe);

ConsoleWriteLine(appPathGetValue(stringEmpty)ToString());//取exe路径(x:\xxx\xxxexe)

ConsoleWriteLine(appPathGetValue("Path")ToString());//取exe所在目录(x:\xxx\xxx\)

PS:不是所有软件都会在AppPath中注册,所以该方法不是所有软件的安装路径都能取。当然如果你要去更新的那个软件也是你写的,就在安装过程中注册AppPath即可。

------解决方案--------------------

软件的卸载路径都是放在注册表的统一的路径下的,

但是安装路径应该没有统一的位置

------解决方案--------------------

我上一回也碰到过跟楼主一样的问题。

这软件也不在HKLM\SOFTWARE下写入安装位置,后来我就在注册表中搜所有出现该软件名字的地方,最后也还是使用了统一的卸载路径

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\

以上就是关于delphi 如何获取进程的全路径名全部的内容,包括:delphi 如何获取进程的全路径名、delphi获取路径、c#中如何通过注册表获取软件安装的路径,最好能贴个代码,有注释,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9281405.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存