求助一下软件管家是如何采集本机已安装软件的

2022-05-20 10:23:36 +08:00
 xxxxware

接了一个需求,采集本机安装的办公软件 目前我用了两种方式

  1. 扫描注册表 Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
  2. Wmi wql select from Win32_Product

死活检测不到 wps 和 notion

但是下了个腾讯软件管家秒检查到,这也排除了扫描硬盘,既然没写注册表他是怎么扫到的呢?

1281 次点击
所在节点    问与答
10 条回复
ysc3839
2022-05-20 10:26:33 +08:00
“这也排除了扫描硬盘”不成立,很可能就是扫描硬盘实现的
xxxxware
2022-05-20 10:30:07 +08:00
@ysc3839 问题是我的软件管家安装完立马打开到这个页面, 没有点进任何页面,也没有任何有加载以及停顿的页面。
我的 pc 现在差不多用了近 1T , 这么快能扫到不太可能吧
xxxxware
2022-05-20 10:34:57 +08:00
@ysc3839 应该是获取的 windows 的添加或删除里面的应用列表, 这里面有 wps 和 notion 就是不太清楚这玩意有没有 API 了
mgrddsj
2022-05-20 10:39:05 +08:00
换一个思路,一般人应该不会删掉开始菜单的快捷方式吧,那么是否可以扫描这个目录?
%AppData%\Microsoft\Windows\Start Menu\Programs
PMR
2022-05-20 10:39:16 +08:00
不在 HKCU 就在 HKLM 里
ysc3839
2022-05-20 10:41:36 +08:00
@xxxxware #2 扫硬盘不代表从最外层开始扫呀,可以先扫几个重点区域,比如 Program Files 。
#3 那也是在注册表里的。
kujio
2022-05-20 10:43:31 +08:00
装个 wps 和 notion 自己找找特征,我估计软件管家也是在后台默默采集了千万台电脑安装这些软件的全过程,所以能很快判断出有没有装.
flynaj
2022-05-20 10:44:04 +08:00
HKEY_LOCAL_MACHINE\SOFTWARE
xxxxware
2022-05-20 10:51:54 +08:00
@ysc3839 @PMR @mgrddsj 破案了在 HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall 里面
@kujio 我觉得软件管家这种量级的软件应该是各种方法都用上了, 我本来还想加一个 进程监听,去补充注册表 wmi 检测不到的软件
感谢大家
xxxxware
2022-05-20 10:52:50 +08:00
之前忘了了 HKCU , 只扫了 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/854098

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX