zoukankan      html  css  js  c++  java
  • electron 主进程,和渲染进程的通信

    ipcMain https://electronjs.org/docs/api/ipc-main

    当在主进程中使用时,它处理从渲染器进程(网页)发送出来的异步和同步信息, 当然也有可能从主进程向渲染进程发送消息

    ipcRenderer https://electronjs.org/docs/api/ipc-renderer

    使用它提供的一些方法从渲染进程 (web 页面) 发送同步或异步的消息到主进程。 也可以接收主进程回复的消息

    使用自定义的 最小化,最大化,关闭按钮

    渲染进程 html 片段

    <div class="mdui-row-xs-3">
      <div class="mdui-col" @click="sendMinimize">
        <i class="mdui-icon material-icons">&#xe5cf;</i>
      </div>
      <div class="mdui-col" @click="sendmMximize">
        <i class="mdui-icon material-icons">&#xe3c1;</i>
      </div>
      <div class="mdui-col" @click="sendClose">
        <i class="mdui-icon material-icons">&#xe5cd;</i>
      </div>
    </div>
    

    渲染进程 js 片段

    const { ipcRenderer } = require('electron');
    ipcRenderer.on('index-minimize', (e, msg) => {
          // 监听主进程发来的事件...
    })
    
    sendClose() {// closr
      ipcRenderer.send('master-close', 'render-index')
    },
    sendMinimize() {// minimize
      ipcRenderer.send('master-minimize', 'render-index')
    },
    sendmMximize() {// maximize
      ipcRenderer.send('master-maximize', 'render-index')
    }
    

    主进程 js 代码片段

    const {
      app,// 控制应用程序寿命的模块。
      BrowserWindow, // 模块创建原生浏览器窗口。
      ipcMain
    } = electron;
    
    let mainWindow;
    
    ipcMain.on('master-close', (e, msg) => {
      // 关闭master进程
      app.quit();
    })
    
    ipcMain.on('master-minimize', (e, msg) => {
      // 最小化  master进程
      mainWindow.minimize();
      // 主进程向 渲染进程发送消息
      // e.sender.send('index-minimize', 'master')
    })
    
    ipcMain.on('master-maximize', (e, msg) => {
      // 最大化  master进程
      if (mainWindow.isMaximized()) {
        mainWindow.unmaximize()
      } else {
        mainWindow.maximize();
      }
    })
    
  • 相关阅读:
    装饰器的进阶
    Django admin组件应用
    AJAX
    Cookie、Session和自定义分页
    Django中ORM介绍和字段及字段参数
    Django 框架
    Django之视图
    Django之路由系统
    Django ORM相关操作
    Django 模板语言
  • 原文地址:https://www.cnblogs.com/ajanuw/p/8799342.html
Copyright © 2011-2022 走看看