Electronクライアントの最大化の最小化

4248 ワード

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();
}