electron 16版本 无边框窗口
const win = new BrowserWindow({ ..., frame: false, ... });
调用win.maximize()方法后,实际不能撑满整个屏幕,如果有窗口有其他底色,会更容易看到,具体表现为,顶部多了一条约5px的横杠
解决方案
阻止maximize的默认事件,获取窗口所在屏幕的工作区域,然后设置可放大的最大尺寸,设置窗口大小为可工作区域大小,窗口居中,具体代码如下
win.on('maximize', (e: any) => { e.preventDefault() const { width, height } = screen.getPrimaryDisplay().workAreaSize mainWin.setMaximumSize(width, height) mainWin.getMaximumSize() mainWin.setSize(width, height) mainWin.center() })