有没有办法将电子应用程序中的主窗口恢复到一定大小?为了解释我想要实现的目标,让我举个例子:
当我打开 Windows 资源管理器时,它会以特定大小并在特定位置打开。然后我最大化该窗口并关闭资源管理器。下次当我重新启动资源管理器时,它会以与关闭它时相同的状态打开,即处于最大化状态。但是,当我单击恢复按钮时,资源管理器将恢复到最大化之前的宽度/高度和位置。
我也想在我的电子应用程序中完成同样的任务。然而这并没有发生。
我正在做的是,当我的应用程序关闭时,我使用 (win.getBounds()
)并将它们保存在配置文件中使用electron-config
。这就是我的代码的样子:
const Config = require('electron-config')
const config = new Config();
mainWindow.on('close', () => {
config.set('winBounds', mainWindow.getBounds())
});
现在,当我启动应用程序时,我从配置文件中读取设置(实际上 electro-config 为我做到了这一点)并使用它来设置窗口的初始尺寸/位置。我正在使用如下代码:
let opts = {
show: false,
icon: path.join(__dirname, 'app-window-icon.png')
};
Object.assign(opts, config.get('winBounds'));
mainWindow = new BrowserWindow(opts);
这也很有效。然而,我现在唯一的选择是最大化窗口。我无法找到任何选项将窗口恢复到最大化之前的大小。
例如,假设用户启动尺寸为 1024x768 像素的应用程序。然后,用户最大化应用程序窗口,然后将其关闭。当用户重新启动应用程序时,它会以关闭时的大小打开,我看到的唯一选项是最大化窗口。我正在寻找的是将窗口大小恢复为 1024x768px 的选项。
我在这里查阅了文档:https://github.com/lectron/Electron/blob/master/docs/api/browser-window.md https://github.com/electron/electron/blob/master/docs/api/browser-window.md但不幸的是在那里找不到任何东西。