如何控制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的值即可

相关推荐
中杯可乐多加冰8 分钟前
基于 DeepSeek + MateChat 的证券智能投顾技术实践:打造金融领域的专属大Q模型助手
前端·人工智能
凡人程序员8 分钟前
搭建简易版monorepo + turborepo
前端·javascript
丸子哥哥9 分钟前
同一个域名,如何添加多个网站?
服务器·前端·nginx·微服务
不努力也不会混9 分钟前
vite联邦实现微前端(vite-plugin-federation)
前端·vue.js
伍亿伍千万11 分钟前
Uptime Kuma修改作为内嵌页面的自适应
前端
Heo13 分钟前
原来Webpack在大厂中这样进行性能优化!
前端·javascript·vue.js
涔溪14 分钟前
Vue2 项目中通过封装 axios 来同时连接两个不同的后端服务器
前端·vue.js·axios
Codebee26 分钟前
SOLO+OODER全栈框架:图生代码与组件化重构实战指南
前端·人工智能
颜酱27 分钟前
CLI 工具开发的常用包对比和介绍
前端·javascript·node.js
Chen不旧35 分钟前
关于用户权限的设计,前端和后端都需要考虑
前端·权限