Electron:如何在拔出 pendrive 时关闭便携式应用程序
Electron: how to close a portable app on pulling out the pendrive
我用electron做了一个便携app。它工作正常。我把它保存在一个 pendrive 中,所以我不需要安装它并复制到我的硬盘到 运行 它。只需从 pendrive 执行应用程序,我就在我的桌面上 运行ning。但我需要的是实现一个系统,如果你拔出 pendrive,应用程序会自动关闭。我一直在谷歌上搜索类似的东西,发现了很多使用 pendrive 作为万能钥匙的方法。但这并不是我所需要的。我不想关闭电脑,我只需要关闭应用程序并将其从内存中删除即可。有什么方法或 nodejs 库可以帮助我吗?
您可以使用node_usbspy
模块来观看USBinsertion/removal。此模块仅支持 Windows.
如果您收到 device_status
为 0 的事件,那么您可以使用 app.quit()
退出应用程序
希望对您有所帮助!
注意:我是 node-usbspy
的作者。
我找到了一个适用于所有平台的实用解决方案:
const basePath = app.getAppPath()
setInterval(() => {
const path = basePath.split('/')
const baseDir = path.slice(0, -1).join('/')
fs.writeFile(baseDir + '/portable.txt', '1', err => {
if(err) {
app.quit()
}
})
}, 1000)
上面的脚本试图每秒保存一个 TXT 文件。如果fs.writeFile
returns出错,app.quit()
调用关闭应用。
我用electron做了一个便携app。它工作正常。我把它保存在一个 pendrive 中,所以我不需要安装它并复制到我的硬盘到 运行 它。只需从 pendrive 执行应用程序,我就在我的桌面上 运行ning。但我需要的是实现一个系统,如果你拔出 pendrive,应用程序会自动关闭。我一直在谷歌上搜索类似的东西,发现了很多使用 pendrive 作为万能钥匙的方法。但这并不是我所需要的。我不想关闭电脑,我只需要关闭应用程序并将其从内存中删除即可。有什么方法或 nodejs 库可以帮助我吗?
您可以使用node_usbspy
模块来观看USBinsertion/removal。此模块仅支持 Windows.
如果您收到 device_status
为 0 的事件,那么您可以使用 app.quit()
希望对您有所帮助!
注意:我是 node-usbspy
的作者。
我找到了一个适用于所有平台的实用解决方案:
const basePath = app.getAppPath()
setInterval(() => {
const path = basePath.split('/')
const baseDir = path.slice(0, -1).join('/')
fs.writeFile(baseDir + '/portable.txt', '1', err => {
if(err) {
app.quit()
}
})
}, 1000)
上面的脚本试图每秒保存一个 TXT 文件。如果fs.writeFile
returns出错,app.quit()
调用关闭应用。