Electron开发之screen模块-根据屏幕分辨率设置窗口大小

 

使用 Electron screen 模块可对屏幕进行相关操作

screen 模块检索屏幕的 size,显示,鼠标位置等的信息,在 app 模块的ready 事件触发之前不可使用这个模块.

注意: 在渲染进程 / 开发者工具栏, window.screen 是一个预设值的 DOM 属性, 所以这样写 var screen = require('electron').screen 将不会工作. 在我们下面的例子, 我们取代使用可变名字的 electronScreen. 一个例子,创建一个充满真个屏幕的窗口 :

import { app, protocol, BrowserWindow, screen } from 'electron'
function createWindow () {
  // Create the browser window.
  let size = screen.getPrimaryDisplay().workAreaSize
  let width = parseInt(size.width * 0.9)
  let height = parseInt(size.height * 0.9)
  win = new BrowserWindow({
    show: false,
    width: width,
    height: height,
    backgroundColor: '#f0eff4',
    webPreferences: {
      webSecurity: !isDev
    }
  })
}
app.on('ready', async () => {
  createWindow()
})

在渲染进程创建一个窗口:

const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow

let mainWindow

app.on('ready', function() {
  var electronScreen = electron.screen;
  var displays = electronScreen.getAllDisplays()
  var externalDisplay = null
  for (var i in displays) {
    if (displays[i].bounds.x != 0 || displays[i].bounds.y != 0) {
      externalDisplay = displays[i]
      break
    }
  }

  if (externalDisplay) {
    mainWindow = new BrowserWindow({
      x: externalDisplay.bounds.x + 50,
      y: externalDisplay.bounds.y + 50
    })
  }
})

你可能感兴趣的:(前端,electron)