基础信息
界面启动
界面启动
: mainWindow.LoadFile
- 启动页面的渲染进
- 读取页面布局和演示
主进程可以打开无数个子进程
IPC在主进程执行任务并获取信息
//启用所有node下的资源为可用状态
webPreferences:{nodeIntegration:true}
accelerator 快捷键
//开启调试
Window.WebContents.OpenDevTools();
var {Shell} = require('electron');
//在浏览器中打开URL链接
Shell.OpenExternal(href);
//打开子窗口
Window.Open(url);
//子窗体向主窗传递信息
Window.Opener.postMessage("xxx");/发送信息
//msg以obj形式传递
Window.addEventLisener('message' ,(msg)=>{
mytext.innerHTML = json.stringity(msg.data);
});
对话框
文件选择对话框
dialog.ShowOpenDialog();
//参数
- title:标题
- defaultPath:默认文件名
- filters:[{name:'jpg',extensions:['jpg',png]}]
- buttonLabel:打开按钮的定义
文件保存对话框
dialog.ShowSaveDialog();
//参数
- result
- filePath 选中的路径
消息对话框
dialog.ShowMessageBox();
//参数
- type
- title
- message
- buttons
网络监测
//连线时执行实现
window.addEventListener(
'online',()=>{
;事件内容处理
}
);
//断线时执行实现
window.addEventListener(
'offline',()=>{
;事件内容处理
}
);
消息通知
var msg{
title:...
body:...
};
()=>(){
new winsow.Notification(msg.title,msg);
};
全局快捷键注册
快捷键注册
var gs = electron.globalShortcut ;引入组件
//必须在App onready中注册
app.on('ready',()=>{
//注册快捷键
gs.register('ctrl+E',()=>{...};
});
gs.isRegistered('ctrl+E');判断快捷键是否注册成功
快捷键注销
app.on('will-quit',()=>{
gs.unregister('ctrl+E');//取消指定的快捷键
gs.unregisterAll();//取消全部快捷键
});
剪切板
const { clipboard } = require('electron');
clipboard.WriteText('xxx');
API调用示例
英文版本
git clone https://github.com/electrom/electron-api-demos
cd electron-api-demos
npm install & npm start
中文版本
git clone https://github.com/demopark/electron-api-demo-Zh_CN
cd electron-api-demo-Zh_CN
npm install & npm start