このチャプターの目次
Windows の場合
Windows では、新しいインスタンスが生成され、そのウィンドウが開かれる。
すでに起動しているウィンドウを再利用させたい場合は、requestSingleInstanceLock()
メソッドを利用する。
macOS の場合
macOS では、open-file
イベントが発火し、すでに存在している BrowerWindow
インスタンスが再利用される。
app.js
const createWindow = () => {
const mainWindow = new BrowserWindow();
app.on('open-file', (e, filepath) => {
// 必須!
e.preventDefault();
// ウィンドウが最小化されていたらレストアしてフォーカスを当てる
if (mainWindow.isMinimized()) mainWindow.restore();
mainWindow.focus();
// イベントの第2引数へファイルパスが与えられている
console.log(`open-file event: ${filepath}`);
});
mainWindow.loadFile('index.html');
};