如何用电子app关闭文件

时间:2016-12-12 10:51:12

标签: javascript node.js shell electron

在我的电子应用中,我使用 electron.shell (shell.openItem())打开文件(docx,pdf,tiff,...)。

现在我想在一个特定操作后关闭此文件。

有一种方法可以用电子API或节点 JS 来关闭它吗?

谢谢

2 个答案:

答案 0 :(得分:2)

shell.openItem()打开相应的文件,其中包含操作系统为该文件类型引用的任何程序。此外,它不会返回对已打开的进程的引用。

这意味着您不知道文件的打开过程是什么,并且考虑到可以打开您列出的文件类型的大量可能程序,您将很难找到该特定程序。

鉴于这些情况,我认为无法实现您想要实现的目标。

答案 1 :(得分:1)

由于shell.openItem()中无法实现这一点,您可以使用节点子进程。

我有一个应用程序,我用

打开未处理的文件类型
let child;
child = cp.exec(' "' + fullPath+'"', function (error, stdout, stderr) {
                if (error) {
                    console.error(`exec error: ${error}`);
                }
            });

如果用户关闭了应用程序,您可以通过

做出反应
child.on('close', function (code) {
    //your code here
}

如果您想从电子结束子进程,可以使用child.kill()