electron客户端最大化最小化

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();
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值