(windowds下测试,其他系统未测)
1,系统托盘图标,
主要。js:
const Tray =,要求(“电子”).Tray; const Menu =,要求(“电子”).Menu; let 托盘; 时间=tray new 托盘(__dirname +,/构建/img/程序);//系统托盘图标 tray.setToolTip (miaoLian.in);//鼠标放到系统托盘图标上时的技巧; const menu =, Menu.buildFromTemplate([,,//,定义右建菜单 ,,,{标签:“主”页,,点击:,goHomeHandle}, ,,,{标签:“注册”,,点击:,registerHandle}, ,,,{标签:“注销”,,点击:,logoutHandle}, ,,,{标签:,“退”出,,点击:,closeHandle} ]); tray.setContextMenu(菜单);//应用右建菜单 tray.on(“点击”,function (),{,//左键单击时显示窗口 ,,,mainWindow.show (); });
2,渲染线程向主要线程发送消息
渲染线程:你的正常项目中的文件
主要线程:电子要求必须有的main.js文件;
主要。js:
//接收消息 const ipcMain =,要求(“电子”).ipcMain; ipcMain.on (“closeWindow”, function (), {,//closeWindow ,可自己随意定义 ,,,app.quit (); }); ipcMain.on(“最小化”,function (), {,//minimize 可自己随意定义 ,,,mainWindow.hide (); });
项目XX。js:
//发送消息 const ipcRenderer =, global.require .ipcRenderer(“电子”); minimizeBtnClickHandle (), { ,,,ipcRenderer.send(最小化)//,和接收消息的字符串对应 };
3,主要线程向渲染线程发送消息
主要。js:
//发送消息 const BrowserWindow =, electron.BrowserWindow; let 主窗口; 时间=mainWindow new BrowserWindow ({, XX: XX, XX: XX}); function closeHandle(),{,,,,,//见(1)系统托盘图标中右键菜单中的退出选项 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,//,closeFunc 可自己随意定义,与接收消息对应即可 ,,,mainWindow.webContents.send (“closeFunc”),, }
项目XX。JS:
//接收消息 const ipcRenderer =, global.require .ipcRenderer(“电子”); ipcRenderer.once (closeFunc, this.closeHandle.bind(这)); closeHandle (), { ,,,/*自己的逻辑处理*/,,,,ipcRenderer.send (“closeWindow”); }
4,打开默认浏览器并跳转到指定网页
const shell =,要求(“电子”).shell; shell.openExternal (“https://miaolian.in”);
另:
中电子的API不是在任何文件中都可以用的。
有一部分只能在主要线程中用,比如ipcMain
有一部分只能在渲染线程中用,比如ipcrenderer
还有一部分是通用的,比如壳。
更多详情见文档:http://electron.atom.io/docs/
中文文档:https://github.com/electron/electron/tree/master/docs-translations/zh-CN