const { app, BrowserWindow } = require('electron')
function createWindow() {
let mainWin = new BrowserWindow({
x: 100,
y: 100, //设置窗口的显示位置,相对于当前屏幕的左上角
show: true, //默认情况下创建一个窗口对象之后就会显示,设置为false,就不会显示了
width: 800,
height: 600,//width, height 窗口的宽高
maxHeight: 800,
maxWidth: 1000,
minHeight: 300,
minWidth: 300,// 可以通过 min max 来设置当前应用窗口的最大和最小宽高
resizable: true,//是否允许用户改变窗口的大小
icon: 'favicon.ico',// 设置一个图片路径,可以自定义当前应用的显示图标
title: "鹤鸣", // 自定义当前应用的显示标题,index.html 中 title 标签的文本内容为空
// frame: false, // 用于自定义 menu ,设置 false 可以将默认的菜单栏隐藏
// transparent: true, // 窗口透明化
autoHideMenuBar: true, // 隐藏导航栏
webPreferences: {
enableRemoteModule: true, // 启用远程模块
nodeIntegration: true, // 是否集成 Nodejs
// webSecurity: false, // 是否开启安全策略
// preload: path.join(__dirname, 'preload.js') // 预加载
}
})
mainWin.loadFile('index.html')
mainWin.on('ready-to-show', () => {
mainWin.show()
})
mainWin.on('closed', () => {
console.log('this window is closed');
mainWin = null
})
}
app.whenReady().then(() => {
createWindow()
})
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
enableRemoteModule 是开启远程模块,意思就是说在别的地方使用 electron 的时候,需要设置为 true 才可以使用
const { remote } = require('electron')
remote.BrowserWindow({
width:200,
height:200,
})
以上这么写是开启一个新的窗口。
获取当前窗口也是需要 引入 remote ,调用 getCurrentWindow 方法
const { remote } = require('electron')
remote.getCurrentWindow()