首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从电子菜单发出Main to Main事件

从电子菜单发出Main to Main事件
EN

Stack Overflow用户
提问于 2020-07-08 17:52:47
回答 2查看 182关注 0票数 1

我在我的主进程中有一个'select-current-project‘的监听器。当从渲染器进程触发时,它工作得很好,但是我如何从菜单中发出相同的事件?

菜单在默认createWindow()中创建

代码语言:javascript
运行
复制
var menu = Menu.buildFromTemplate([
    {
        label: 'Menu',
        submenu: [
            {
                label:'Open',
                click() {
                    // neither of these works
                    // app.emit('select-current-project')
                    // ipcRenderer.send('select-current-project')

                },
                accelerator: 'CmdOrCtrl+O'
            },
            {
                label:'Exit',
                click() { 
                    app.quit() 
                }
            },                
        ]
    }
])

我的事件处理程序

代码语言:javascript
运行
复制
ipcMain.on('select-current-project', async (event, arg) => {
    // code
})
EN

回答 2

Stack Overflow用户

发布于 2020-07-08 21:55:48

我不确定我是否理解了你所描述的问题--但我是这样做的:

函数showProjectPicker存在于main.js中,由菜单操作调用,如下所示。如果我想从renderer进程调用它,我会通过IPC发送一条消息。

代码语言:javascript
运行
复制
{
  label: 'File',
  submenu: [
      { label: 'Open Project...', click: () => { showProjectPicker(); }, accelerator: 'CmdOrCtrl+o' }
    ]
}
票数 -1
EN

Stack Overflow用户

发布于 2020-07-08 23:47:40

代码语言:javascript
运行
复制
ipcMain.on('select-current-project', async (event, arg) => {
    onSelectCurrentProject()
})

const onSelectCurrentProject = async (event, arg) => {
    if(event !== Null) {
         // This is for rendere
    } else {
         // For menu event in your case
    }
}

var menu = Menu.buildFromTemplate([
    {
        label: 'Menu',
        submenu: [
            {
                label:'Open',
                click() {
                     onSelectCurrentProject(null, args);
                },
                accelerator: 'CmdOrCtrl+O'
            }          
        ]
    }
])
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62792093

复制
相关文章

相似问题

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