electron - 在所有屏幕上全屏显示窗口
问题描述
我是 ElectronJS 的新手,很抱歉对这些员工还不够聪明。我正在尝试为我未来的公司制作一个登录页面,但首先我需要准备好一切才能开始一些事情。因此,如果有人打开计算机,那么他们需要使用 Windows 登录,当登录时,我的应用程序将出现并询问特定的 pin 码。
大故事,简而言之,我需要让应用程序在所有屏幕上隐藏桌面。
我是在 C# 中这样做的(因为我开始在 C# 中做这个项目,然后我发现了这个 ElectronJS 并改变主意改用它):
private static Rectangle GetDesktopBounds(Form main)
{
Rectangle result = new Rectangle();
for (int i = 0; i < Screen.AllScreens.Length; i++)
{
Screen screen = Screen.AllScreens[i];
result = Rectangle.Union(result, screen.Bounds);
}
main.Top = result.Top;
main.Left = result.Left;
main.Width = result.Width;
main.Height = result.Height;
return result;
}
它在 C# 中运行良好,但我需要在 ElectronJS 中,我确实尝试过做这样的事情:
let x;
let y;
for (let i = 0; i < screen.getAllDisplays().length; i++) {
x += screen.getAllDisplays()[i].bounds.width;
console.log(screen.getAllDisplays()[i].bounds.width);
y += screen.getAllDisplays()[i].bounds.height;
console.log(screen.getAllDisplays()[i].bounds.height);
}
接着:
win.setSize(x, y, false);
但它不会将所有屏幕的窗口都设置为全屏。它仅在主屏幕中起作用。如果我控制台记录 x 和 y,那么我会收到 NaN 消息。
所以问题是:如何使窗口全屏并同时显示所有屏幕?
感谢您提前回答。
解决方案
好吧。我找到了解决方案。也许不是完美的,但对我来说很好:
let displays = screen.getAllDisplays()
let externalDisplay = displays.map(function (display, index, displays) {
win = new BrowserWindow(
{
x: display.bounds.x,
y: display.bounds.y,
width: 1280,
height: 720,
fullscreen: true,
backgroundColor: "#363636",
frame: false,
enableLargerThanScreen: true,
skipTaskbar: true,
disableAutoHideCursor: false
}
);
})
推荐阅读
- php - 获取总和并在其中添加激励 - mysql codeigniter
- c# - 在 Bing 地图上的 WPF 应用程序中使用 c# 绘制椭圆?
- flutter - 如何在每条路线中使用 SafeArea?
- ios - 如何使用自定义 UITableView 上传图片
- r - Power BI 中的数据操作
- java - android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class
而逆向工程和apk - reactjs - 当我增加计数器时,它增加了 2 而不是 1。我为此使用反应上下文
- laravel - Laravel 支付 ID 存储错误
- javascript - 如何在javascript中将字符串转换为数组
- android - POST 尝试时的 Android 代码 = 400“错误请求”