方式一:
import {remote} from 'electron'
缩小:
remote.getCurrentWindow().minimize();
放大:
remote.getCurrentWindow().maximize();
判断是否处于最大化:
remote.getCurrentWindow().isMaximized()
恢复:
remote.getCurrentWindow().restore();
关闭:
remote.getCurrentWindow().close();
方式二:渲染进程和主进程通信,通过主进程控制窗口大小
mainWindow.minimize();
mainWindow.maximize();
mainWindow.isMaximized();
mainWindow.restore();
mainWindow.close();
代码示例:
方式一:
minux()
{
remote.getCurrentWindow().minimize();
},
max()
{
//如果已处于最大化则恢复
if(remote.getCurrentWindow().isMaximized())
{
remote.getCurrentWindow().restore();
}else{
remote.getCurrentWindow().maximize();
}
},
close()
{
remote.getCurrentWindow().close();
}
方式二:
渲染进程:
<template>
<div class="header">
<span class="el-icon-minus" @click="minimizeWin"></span>
<span class="el-icon-full-screen" @click="maximizeWin"></span>
<span class="el-icon-close" @click="closeWin"></span>
</div>
</template>
<script>
import { ipcRenderer} from 'electron';
export default {
methods: {
minimizeWin(){
ipcRenderer.send('window-min') // 通知主进程我要进行窗口最小化操作
},
maximizeWin(){
ipcRenderer.send('window-max')
},
closeWin(){
ipcRenderer.send('window-close')
}
}
}
</script>
<style lang="scss">
.header{
span{
font-size:20px;
margin-right:20px;
color:red;
}
}
</style>
主进程:
// 1. 窗口 最小化
ipcMain.on('window-min',function(){ // 收到渲染进程的窗口最小化操作的通知,并调用窗口最小化函数,执行该操作
win.minimize();
})
// 2. 窗口 最大化、恢复
ipcMain.on('window-max',function () {
if(win.isMaximized()){ // 为true表示窗口已最大化
win.restore();// 将窗口恢复为之前的状态.
}else{
win.maximize();
}
})
// 3. 关闭窗口
ipcMain.on('window-close',function (){
win.close();
})