我想将参数值传递给正在运行的Electron程序,但是失败了。请告诉我该怎么做。
我缺少什么?
// package.json
{
"name": "electron-quick-start",
"version": "1.0.0",
"description": "A minimal Electron application",
"main": "main.js"
...
}
以下是主要的处理文件。
// main.js
const electron = require('electron')
const app = electron.app
const console = require('console');
app.console = new console.Console(process.stdout, process.stderr);
let mainWindow
/* Single Instance Check */
var iShouldQuit = app.makeSingleInstance(function(commandLine, workingDirectory) {
if (mainWindow) {
if (mainWindow.isMinimized()) mainWindow.restore();
mainWindow.show();
mainWindow.focus();
}
return true;
});
if(iShouldQuit){app.quit();return;}
// Argument value output.
console.log( process.argv )
在命令提示符处执行上述代码会产生以下结果:
CMD> npm start ARG1 ARG2 --enable-logging
[ '{PROJECT_PATH}\\electron.exe',
'.',
'ARG1',
'ARG2' ]
新命令提示符内容:
CMD> npm start ARG3 ARG4 --enable-logging
// "There is no message."
在第二次运行时,不会出现所需的结果。
我想让你知道该怎么做。
**我想要的结果是:**
新命令提示符内容:
// While the program is already running ...
CMD> npm start ARG5 ARG6 --enable-logging
[ '{PROJECT_PATH}\\electron.exe',
'.',
'ARG5',
'ARG6' ]
答案 0 :(得分:0)
我解决了这个问题!
'makeSingleInstance'的第一个参数值是正确的!
我必须更好地查看手册!
// main.js
/* Single Instance Check */
var iShouldQuit = app.makeSingleInstance(function(commandLine, workingDirectory) {
// Here was the answer I was looking for!
console.log( commandLine )
if (mainWindow) {
if (mainWindow.isMinimized()) mainWindow.restore();
mainWindow.show();
mainWindow.focus();
}
return true;
});
if(iShouldQuit){app.quit();return;}