electron主进程与渲染进程进行通信

主进程向渲染进程发送消息

  • 主进程发送消息(main=>index.js)

      mainWindow = new BrowserWindow({
          height: 750,
          width: 1100,
          center: true, // 是否出现在屏幕居中的位置
          useContentSize: true,
          frame:false,//设置为 false 时可以创建一个无边框窗口
          resizable:true,//窗口是否可以改变尺寸
          autoHideMenuBar:true,//是否隐藏菜单栏
          backgroundColor:'#fff',// 窗口的背景颜色为十六进制值
          titleBarStyle:'hidden',//窗口标题栏的样式
          webPreferences:{//网页功能的设置
            nodeIntegration: true,//是否集成node
            // devTools:false,//是否开启 DevTools
            // webSecurity: false//是否禁用同源策略(上线删除)
          }
      });
      
      //发送消息
      mainWindow.webContents.send('changeWin',1);
    
  • 渲染进程接收消息(home.vue)

      const { ipcRenderer } = require('electron');
      
      ipcRenderer.on('changeWin',(event,arg)=>{
        //这里是主进程传过来的消息
        console.log(arg);
      })
    

渲染进程向主进程发送消息

  • 渲染进程发送消息(about.vue)

      const { ipcRenderer } = require('electron');
    
      ipcRenderer.send('sendmsg',1);
    
  • 主进程接收消息(main=>index.js)

      import { ipcMain } from 'electron';
      
      ipcMain.on('sendmsg',(event,arg)=>{
          //这里是渲染进程发送来的消息
          console.log(arg)
      });
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章