Electron 跟踪电子束窗口大小

Electron 跟踪电子束窗口大小,electron,Electron,我今天刚开始玩电子。我需要能够得到可用的窗口大小,并更新它的窗口大小 这似乎不像传统的JS应用程序那么简单。跟踪窗口大小的推荐方法是什么 目前,我有我的主进程和一个渲染器,没有计划一次打开超过一个渲染器/窗口 我试着使用以下内容,但似乎完全错了,所以我一定是误解了文档 const {BrowserWindow} = require('electron').remote BrowserWindow.getSize() 编辑: 通过观察应用程序的主体来跟踪高度是否合理?我可以将它设置为100%宽度

我今天刚开始玩电子。我需要能够得到可用的窗口大小,并更新它的窗口大小

这似乎不像传统的JS应用程序那么简单。跟踪窗口大小的推荐方法是什么

目前,我有我的主进程和一个渲染器,没有计划一次打开超过一个渲染器/窗口

我试着使用以下内容,但似乎完全错了,所以我一定是误解了文档

const {BrowserWindow} = require('electron').remote
BrowserWindow.getSize()
编辑:

通过观察应用程序的主体来跟踪高度是否合理?我可以将它设置为100%宽度/高度并观看,但它似乎有点像黑客

谢谢 汤姆,你可以试试

const electron = require('electron')
const remote = electron.remote

remote.getCurrentWindow().webContents.getOwnerBrowserWindow().getBounds()
边界将具有当前窗口的坐标和大小

{ 
  height: 1040,
  width : 837,
  x : 276,
  y : 78 
}
这适用于v4.0.4:

在renderer.js中:

在main.js中:


“可用窗口大小”是指物理显示的大小吗?否则,
getSize()
应该可以工作,但是您必须在
BrowserWindow
实例上调用它,而不是作为静态函数。谢谢,这很有意义。我应该更清楚一点,我实际上想知道当前应用程序窗口的大小(我猜这将是渲染器)?我需要能够做的是使用当前可用高度的大小来确定其他物体的大小。不幸的是,它需要以像素而不是百分比来完成。您当前的应用程序窗口可能也是一个
浏览器窗口
。如果没有它的变量,则可以通过
BrowserWindow.getFocusedWindow()
或从
BrowserWindow.getAllWindows()
静态函数中选择,然后在实例上使用
getSize
。此外,您可能还想听听它的
“resize”
事件。请看一下
高度
宽度
是否以像素为单位?我想要以像素为单位的屏幕大小,有什么解决办法吗?
import { remote } from "electron";

console.log('size:', remote.getCurrentWindow().getSize());
// size: [1000, 700]

console.log('bounds:', remote.getCurrentWindow().getBounds());
// bounds: {height: 700, width: 1000, x: 226, y: 97}
import { BrowserWindow } from "electron";

let mainWindow: BrowserWindow

// ...after mainWindow is created
console.log('size:', mainWindow.getSize());
console.log('bounds:', mainWindow.getBounds());