首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从电子渲染器中获取应用程序名称?

如何从电子渲染器中获取应用程序名称?
EN

Stack Overflow用户
提问于 2020-08-13 00:47:55
回答 1查看 1.6K关注 0票数 0

我正在使用一个电子反应样板,我感兴趣的是从我的一个反应性组件文件中获取应用程序的名称。

我试过了

代码语言:javascript
运行
复制
import {app} from 'electron'
const name = app.getName()

但我明白错误

模块“./app/

/root.tsx”的热更新失败。最后处理的文件:"./app/components/Modal/Text.tsx“。

我猜电子不能从“渲染器”进入?访问这些数据的最佳方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-13 01:13:28

TLDR:向主进程发送一条消息,并让它返回一条包含应用程序名称的消息。

你是正确的,你不能从渲染器获得应用程序的名称。

所以我会向主进程发送一条消息,请求应用程序名,然后让主进程发送回应用程序名。

这是代码的外观:

renderer.js

代码语言:javascript
运行
复制
var ipcRenderer = require('electron').ipcRenderer;

// Send message.
ipcRenderer.send('asynchronous-message', 'getAppName');

// Recieve app name.
ipcRenderer.on('asynchronous-message', function (evt, messageObj) {
    console.log(messageObj); // This will contain the app name.
});

main.js

代码语言:javascript
运行
复制
var ipcMain = require('electron').ipcMain;
var app     = require('electron').app;

ipcMain.on('asynchronous-message', function (evt, messageObj) {
    // Send message back to renderer.
    if (messageObj == 'getAppName') {
        evt.sender.webContents.send('asynchronous-message', app.getName());
    }
});

Docs for ipcMain.

Docs for ipcRenderer.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63386516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档