electron客户端最大化最小化

来源:互联网 发布:华为编程大赛题目 编辑:程序博客网 时间:2024/05/20 07:36

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();}
2 0
原创粉丝点击