728x90
300x250
requestSingleInstanceLock() 라는것으로 창이 하나인지 그 이상인지 체크할수있다
main.js
const { app, BrowserWindow, Menu } = require('electron');
app.on('ready', () => {
let mainWindow = new BrowserWindow({
width: 500,
height: 500,
resizable: false,
webPreferences: {
preload: path.join(__dirname, 'preload.js'),
nodeIntegration: true,
contextIsolation: false,
enableRemoteModule: true,
webviewTag: true
}
});
const onlyOne = app.requestSingleInstanceLock();
if (!onlyOne) {
app.quit();
app.exit();
} else {
app.on('second-instance', () => {
if (mainWindow) {
if (mainWindow.isMinimized() || !mainWindow.isVisible()) {
mainWindow.show();
}
mainWindow.focus();
}
});
mainWindow.on("close", e => {
if (mainWindow.isVisible()) {
mainWindow.hide();
e.preventDefault();
}
});
//mainWindow.webContents.openDevTools()
mainWindow.loadFile('index.html')
}
});
728x90
300x250
'IT > Electron' 카테고리의 다른 글
[Electron] 일렉트론 로컬저장소(Local Storage) 사용하기 (0) | 2021.10.28 |
---|---|
[Electron] getGlobal Error , Passthrough is not supported, GL is disabled (0) | 2021.10.26 |
[Electron] 일렉트론 exe 실행 파일 빌드 npm run build:win64 (2) | 2021.03.24 |
[Electron] 일렉트론 프로그램 닫기 클릭시 트레이로 숨기기 main.js (0) | 2021.03.24 |
[Electron] 일렉트론 프로젝트 생성 및 실행 npm start (0) | 2021.03.24 |