NodeJs能否获取到Windows系统上已安装的某个客户端软件的安装路径等信息?

最近在做一个通过前端唤起桌面客户端的功能点,但不能确定这个客户端软件在安装的时候,自动将相关信息写入注册表。所以想问下是否能够通过NodeJs来获取对应已安装的客户端相关的路径,然后手动写入到注册表中。

阅读 4.4k
5 个回答

虽然不知道对应的接口是什么,但可以肯定的是,NodeJS是可以做到这一点的,即便没有对应的接口,还可以让 NodeJS 调用 powershell 来完成。
不过你需要确保能在客户机上运行 NodeJS,比如使用Electron打包成客户端安装包让用户安装,如果光是网页,不开发成客户端的话就做不到了。

得看你的前端是 Web 前端还是本地的 NodeJS,如果是 Web 前端,那么肯定不行。网页是没办法获取用户本地路径信息的。
如果是 NodeJS 那么就需要用户端得 Node 环境有才行,也可以使用 Electrong 打包一个,具体可以参考1楼的回答。

ChatGPT 的答复看着能用

Get Insatlled Apps
通过Node.js 获取电脑安装的软件,支持Windows和Mac两个平台。

👨‍💻 安装

npm install get-installed-apps

🔌 用法
ES6 Module

import {getInstalledApps} from 'get-installed-apps'

getInstalledApps().then(apps => {
  console.log(apps)
})

CommonJS

const {getInstalledApps} = require('get-installed-apps')
getInstalledApps().then(apps => {
  console.log(apps)
})

如果你只想在mac平台上使用,可以这么做:

import {getMacInstalledApps} from 'get-installed-apps'

getMacInstalledApps().then(apps => {
  console.log(apps)
})

如果你只想在windows平台上使用,可以这么做:

import {getWinInstalledApps} from 'get-installed-apps'

getWinInstalledApps().then(apps => {
  console.log(apps)
})

源码
https://github.com/Xutaotaotao/get-installed-apps/tree/master

推荐问题
宣传栏