Electron 主进程和渲染进程传值及窗口间传值

这篇具有很好参考价值的文章主要介绍了Electron 主进程和渲染进程传值及窗口间传值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1    渲染进程调用主进程得方法
 下面是渲染进程得代码:

let { ipcRenderer} = require( 'electron' );
ipcRenderer.send( 'xxx' );  //渲染进程中调用

下面是主进程得代码:

var { ipcMain } = require( 'electron' );

 ipcMain.on("xxx",function () { } )


   2 渲染进程与渲染进程之间的传值

使用remote.BrowserWindow在某个渲染进程中打开一个新窗口,并向新窗口中传值

xxxrWindow = new remote.BrowserWindow( {
			webPreferences: {
				nodeIntegration: true
			},
			show: true
		} );

xxxrWindow.webContents.on( 'did-finish-load', () => {
			xxxrWindow.webContents.send( "data", JSON.stringify(passInfo) );
			remote.getCurrentWindow().close();//关闭当前窗口
		} );

然后在新窗口中html开始Script标签内加入接收监听代码

	//数据监听
		const ipc = require('electron').ipcRenderer;
		ipc.on('data', (e,arg) => {
			console.log("+++++++++++++++uu+++++++++++++++++++++++++");
			console.log(arg)
		});

注意 注意  注意消息发送后,才能关闭当前窗口,否则 打开的新窗口是接收不到消息的

也就是remote.getCurrentWindow().close();  这行代码要写在上面的回调里面,保证代码发送完毕后,才关掉当前窗口,如果这行代码写在外面,窗口会先于代码发送关掉,这样代码发送就没执行


FR:hunkXu文章来源地址https://www.toymoban.com/news/detail-607108.html

到了这里,关于Electron 主进程和渲染进程传值及窗口间传值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • electron+vue3全家桶+vite项目搭建【13.1】ipc通信的使用,主进程与渲染进程之间的交互

    electron项目常常由一个主进程和多个渲染进程构成,渲染进程之间是隔离的,而所有渲染进程都和主进程共享资源。 所有的渲染进程都是由主进程创建的 每个窗口都对应着一个渲染进程 所有的渲染进程共享一个主进程 我们主进程与渲染进程交互,渲染进程与渲染进程交互【

    2024年02月10日
    浏览(61)
  • C# Winform 多进程窗体间传值->SendMessage()

    在 C# 的 Windows Forms 中,使用 Windows API 的 SendMessage 方法可以实现窗口间的消息通传递,当然也可以在不同的进程之间发送消息。接下来,我将为您提供一个基本的示例,演示如何使用 SendMessage 以及如何重写 WndProc 方法来接收并处理消息。 首先,你需要添加对Windows API的引用:

    2024年02月14日
    浏览(43)
  • electron27+react18集成搭建跨平台应用|electron窗口多开

    electron27-vite4-react18基于electron27结合vite4构建工具快速创建react18跨端应用实践。 版本列表 快速创建react18项目 这里选择使用vite.js构建工具来快速创建一个react18项目。 这样一个简单的react18项目就已经创建完毕了。 安装electron依赖包 注意:electron依赖安装在 devDependencies 里面。

    2024年02月08日
    浏览(56)
  • 基于electron25+vite4创建多窗口|vue3+electron25新开模态窗体

    在写这篇文章的时候,查看了下electron最新稳定版本由几天前24.4.0升级到了25了,不得不说electron团队迭代速度之快! 前几天有分享一篇electron24整合vite4全家桶技术构建桌面端vue3应用示例程序。 https://www.cnblogs.com/xiaoyan2017/p/17436076.html 这次继续接着上次项目,主要介绍electron

    2024年02月06日
    浏览(81)
  • electron+vue+ts窗口间通信

    现有场景: 用户点击图,在新窗口展示实时数据 vue作为纯渲染线程不具备操作本地数据以及窗口间通讯的功能,必须由经electron主进程解决. 因此官方为我们提供了IpcRederer向主进程发送消息的能力. 以及IpcMain主进程监听处理消息的能力. 由于ts和electron上下文隔离策略限制不允许直

    2024年02月14日
    浏览(44)
  • Electron实战之进程间通信

    进程间通信(IPC)并非仅限于 Electron,而是源自甚至早于 Unix 诞生的概念。尽管“进程间通信”这个术语的确创造于何时并不清楚,但将数据传递给另一个程序或进程的理念可以追溯至 1964 年,当时 Douglas McIlroy 在 Unix 的第三版(1973 年)中描述了 Unix 管道的概念。 例如,我

    2024年02月22日
    浏览(35)
  • Electron 进程间通信的实现

    在 Electron 中,可以使用多种方式实现进程间通信(IPC,Inter-Process Communication),以下是几种常见的实现方式: 使用 Electron 提供的 ipcMain 和 ipcRenderer 模块进行通信。主进程使用 ipcMain 模块监听事件,渲染进程使用 ipcRenderer 模块发送事件。 示例: 主进程: 渲染进程: 使用

    2024年02月10日
    浏览(77)
  • electron自定义窗口和右键菜单样式

    electron默认沿用系统UI,并没有提供很多接口供使用者定制样式,如果想要完全自定义的样式,目前我能想到的方案只能是通过前端自定义样式,然后通过进程通信来实现系统基础功能:最大/小化、关闭、拖动窗口等。 通过前面系列文章我们可以了解到,窗口是通过实例化

    2024年02月02日
    浏览(72)
  • Vite + Vue3 + Electron实现进程通信

    Electron 是一个基于 Chromium 和 Node.js 的桌面应用程序开发框架,而 Vue3 则是一种流行的前端框架。将两者结合使用可以快速地打造出跨平台的桌面应用程序。在这种组合中,Electron 提供了强大的桌面应用开发能力,而 Vue3 则提供了易用的 UI 组件和开发体验 Electron 内置了 Chrom

    2024年02月12日
    浏览(45)
  • electron+vue3全家桶+vite项目搭建【16.1】electron多窗口,pinia状态同步,扩展store方法,主动同步pinia的状态【推荐】

    demo项目地址 我们之前写了一个自动同步pinia状态的插件,可以参考如下文章 electron+vue3全家桶+vite项目搭建【16】electron多窗口,pinia状态无法同步更新问题解决 这里面有一个较大的弊端,就是pinia中的store,只要其中的某个属性修改,就会触发这个store的全量更新,当我们有一

    2024年02月11日
    浏览(95)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包