如何控制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 分钟前
PHP 各框架下和 Go 的性能比较
前端·后端·go
Csvn27 分钟前
TypeScript 类型性能:让类型体操不再卡死编译器
前端
万少38 分钟前
等不到 Apple 的折叠 iPhone,我用 DeepV4.1Flash + workBuddy 一句话自己造了一台
前端·javascript·后端
梦曦i42 分钟前
uni-router v0.2.0重磅发布:全链路拦截+重复导航优化
前端·uni-app
数据知道1 小时前
AES 加密实战——模式选择(ECB/CBC/GCM)与安全陷阱
前端·网络·安全
一夜枫林1 小时前
vue实现scroll-view上下滑动右侧左右滑动
前端·javascript·vue.js
志尊宝1 小时前
Vue3 零基础每日笔记(011):生命周期钩子——在正确的时间做正确的事
javascript·vue.js·笔记
苏三的开发日记2 小时前
npm EPERM:无法写入 `.npmrc` 的排查与解决
前端
YWL2 小时前
OpenLayers地图分享:URL参数同步+分享链接生成,让用户一键分享地图视角
前端·javascript·vue·openlayers
枫叶梨花2 小时前
Electrobun透明窗口在Windows上的输入穿透排查
前端·electron·bun