electron操作窗口最大化,最小化…
electron客户端本身自带frame边框,需要frame:false去掉electron,使用自己设定的。这时候如果使用最小化,最大化以及关闭小按钮的操作就需要对electron主进程进行通信~~~
可查阅文档:
electron官方api
中文electron api文档
electron中分主进程和渲染进程,不同的进程中使用不同的模块。比如app、ipcMain模块只可以在主进程中使用,具体可以翻阅api查看。
1.以下是实现最小化最大化退出按钮:
mian.js(主进程)
import { app, ipcMain } from 'electron';
//退出
ipcMain.on('window-all-closed', () => {
app.quit();
});
//小化
ipcMain.on('hide-window', () => {
mainWindow.minimize();
});
//最大化
ipcMain.on('show-window', () => {
mainWindow.maximize();
});
//还原
ipcMain.on('orignal-window', () => {
mainWindow.unmaximize();
});
在渲染进程中:
var ipcRenderer=require('electron').ipcRenderer;
var isBig=true;//窗口放大还原标示
//关闭窗口
$(document).on("click",".close",function(){
ipcRenderer.send('window-all-closed');
});
//最大化
$(document).on("click",".max",function () {
if(isBig){
$(this).children().attr('src','images/restore.png');
ipcRenderer.send('show-window');
}else{
$(this).children().attr('src','images/max.png');
ipcRenderer.send('orignal-window');
}
isBig=!isBig;
});
//最小化
$(document).on("click",".min",function () {
ipcRenderer.send('hide-window');
});
2.关于eletron客户端点击应用可以打开多个的解决方法
这个官方api里有说明,app模块makeSingleInstance方法可以判断进入electron app模块api
代码段:
const shouldQuit = app.makeSingleInstance((commandLine, workingDirectory) => {
//若最小化则还原
if (mainWindow) {
if (mainWindow.isMinimized())
{
mainWindow.restore();
}
mainWindow.focus();
}
});
if(shouldQuit) {
app.quit();
}