如何控制electron的应用在指定的分屏上打开[特殊字符]

1.前言

今天开发的时候遇到一个需求,需要控制electron的应用在指定的分屏上打开,不能在主屏幕上打开

2.思考

实现此功能需要获取到所有的屏幕信息,然后控制electron应用在指定的xy位置打开即可,所以需要使用到electronscreen模块,此模块可以获取到当前系统所有的屏幕信息

3.实现

1.导入electron的屏幕相关API

js 复制代码
const { screen } = require('electron')

2.使用指定方法获取当前系统的所有屏幕信息

js 复制代码
// 获取所有屏幕的信息(返回的是一个数组对象,每个对象就是一个屏幕的相关信息)
const displays = screen.getAllDisplays()

3.根据需求获取到指定的屏幕的信息

js 复制代码
// 示例要将应用放到第二个屏幕中
const targetDisplay = displays[1]

// 创建electron应用窗口
const mainWindow = new BrowserWindow({
  // 设置窗口所在的位置
  x: display.bounds.x,
  y: display.bounds.y,
  width: 800,
  height: 800,
 // ...... 
})

// 打开指定的url
mainWindow.loadUrl(......)

4.总结

以上就是本次需求的实现方法,通过screen模块的getAllDisplays()方法获取到所有的屏幕信息,然后找出应用需要放置的屏幕的信息,设置窗口的xy的值为指定窗口的xy的值即可

相关推荐
涵涵(互关)17 小时前
JavaScript 对大整数(超过 2^53 - 1)的精度丢失问题
java·javascript·vue.js
开开心心_Every17 小时前
离线黑白照片上色工具:操作简单效果逼真
java·服务器·前端·学习·edge·c#·powerpoint
Mintopia17 小时前
🌌 信任是否会成为未来的货币?
前端·人工智能·aigc
fqbqrr17 小时前
2601C++,模块导出分类
前端·c++
倚栏听风雨17 小时前
vscode 运用 ts 代码需要准备什么
前端
韩曙亮18 小时前
【Web APIs】浏览器本地存储 ① ( window.sessionStorage 本地存储 | window.localStorage 本地存储 )
服务器·前端·javascript·本地存储·localstorage·sessionstorage·web apis
吃杠碰小鸡18 小时前
前端Mac快速搭建开发环境
前端·macos
qq_5295993818 小时前
reactnative获取经纬度 获取此地信息 @react-native-community/geolocation
javascript·react native·react.js
前端大波18 小时前
使用webpack-bundle-analyzer 对 react 老项目进行打包优化
前端·react.js·webpack·性能优化
前端 贾公子18 小时前
(catalog协议) == pnpm (5)
前端·javascript·react.js