最近在做一个通过前端唤起桌面客户端的功能点,但不能确定这个客户端软件在安装的时候,自动将相关信息写入注册表。所以想问下是否能够通过NodeJs来获取对应已安装的客户端相关的路径,然后手动写入到注册表中。
最近在做一个通过前端唤起桌面客户端的功能点,但不能确定这个客户端软件在安装的时候,自动将相关信息写入注册表。所以想问下是否能够通过NodeJs来获取对应已安装的客户端相关的路径,然后手动写入到注册表中。
得看你的前端是 Web
前端还是本地的 NodeJS
,如果是 Web
前端,那么肯定不行。网页是没办法获取用户本地路径信息的。
如果是 NodeJS
那么就需要用户端得 Node 环境
有才行,也可以使用 Electrong
打包一个,具体可以参考1楼的回答。
如果是想通过浏览器调起本地应用,在 Windows 下可以通过注册特定 URL 协议的方式。然后前端引导用户点击某个特定协议的的链接就可以打开应用(会有提示)
相关的内容网上很多,可以尝试搜索:
下面随便搜了两个出来可以参考
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
6 回答3k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
2 回答986 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
虽然不知道对应的接口是什么,但可以肯定的是,
NodeJS
是可以做到这一点的,即便没有对应的接口,还可以让 NodeJS 调用 powershell 来完成。不过你需要确保能在客户机上运行
NodeJS
,比如使用Electron
打包成客户端安装包让用户安装,如果光是网页,不开发成客户端的话就做不到了。