可以通过外部源向 app(electron) 发送信号吗?
It's possible send signal to app(electron) by external source?
是否可以通过外部源向 app(electron) 发送信号?
Atom通过send line命令获取例如添加新项目
atom . -a
我找不到任何示例,甚至在 Atom 的源代码中也找不到。
更新:
是 atom 启动期间的命令行参数,带有 运行 个 atom 实例。
如何在 Electron 中解析命令行参数?
这与使用 process.env
从 NodeJS 解析命令行参数没有什么不同。问题has been answered before,这里就不多说了。
如何通过命令行开关与 运行 Electron 实例交互
首先,我假设您将可能的 运行 个实例的数量限制为一个 - 否则您将不得不弄清楚要与程序的哪个实例通信(可能通过添加进程 id 到你的命令行参数。)
让我们来编码吧。对于你的 main.js:
var shouldQuit = app.makeSingleInstance(function (commandLine, workingDirectory) {
if (mainWindow) {
if (mainWindow.isMinimized()) mainWindow.restore()
mainWindow.focus()
/* Insert your Code handling the passed command line arguments here */
}
});
当尝试启动第二个实例时调用此代码段,而不是使第一个实例成为焦点。这可以很容易地进行调整,以将 commandLine
中保存的命令行参数传递给原始实例。
此外,您需要阻止第二个实例实际打开并退出:
if (shouldQuit) {
app.quit();
return;
}
是否可以通过外部源向 app(electron) 发送信号?
Atom通过send line命令获取例如添加新项目
atom . -a
我找不到任何示例,甚至在 Atom 的源代码中也找不到。
更新: 是 atom 启动期间的命令行参数,带有 运行 个 atom 实例。
如何在 Electron 中解析命令行参数?
这与使用 process.env
从 NodeJS 解析命令行参数没有什么不同。问题has been answered before,这里就不多说了。
如何通过命令行开关与 运行 Electron 实例交互
首先,我假设您将可能的 运行 个实例的数量限制为一个 - 否则您将不得不弄清楚要与程序的哪个实例通信(可能通过添加进程 id 到你的命令行参数。)
让我们来编码吧。对于你的 main.js:
var shouldQuit = app.makeSingleInstance(function (commandLine, workingDirectory) {
if (mainWindow) {
if (mainWindow.isMinimized()) mainWindow.restore()
mainWindow.focus()
/* Insert your Code handling the passed command line arguments here */
}
});
当尝试启动第二个实例时调用此代码段,而不是使第一个实例成为焦点。这可以很容易地进行调整,以将 commandLine
中保存的命令行参数传递给原始实例。
此外,您需要阻止第二个实例实际打开并退出:
if (shouldQuit) {
app.quit();
return;
}