Electron:如何在拔出Pendrive时关闭便携式应用程序

时间:2018-07-16 15:58:09

标签: electron portability

我用电子制作了一个便携式应用程序。工作正常。我将其保存在pendrive中,因此无需安装它并复制到硬盘中即可运行它。只需从pendrive执行应用程序,我就可以在桌面上运行它。但是我需要的是实施一个系统,如果您拉出PenDrive,该应用程序将自动关闭。我一直在搜寻类似的东西,并发现了许多使用Pendrive作为主键的方法。但这并不是我真正需要的。我不想关闭PC,只需要关闭应用程序并将其从内存中删除即可。有什么方法或nodejs库可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

您可以使用node_usbspy模块来观察USB的插入/移除。该模块仅支持Windows。

如果您收到一个device_status为0的事件,则可以使用app.quit()退出该应用程序

希望对您有帮助!

注意:我是node-usbspy的作者。

答案 1 :(得分:0)

我找到了一种适用于所有平台的实用解决方案:

    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返回错误,则称app.quit()关闭应用程序。