windows - Electron 应用程序 - 如何在全屏模式下禁用/隐藏任务栏中的窗口
问题描述
我已经为此苦苦挣扎了一段时间,但仍然没有找到任何好的解决方案。我正在开发一个 Windows 全屏(信息亭)应用程序,我需要一个模式窗口来输入密码以退出应用程序。我做了模态窗口和功能,但现在的问题是,当模态出现时,主窗口退出全屏并显示带有两个窗口(主窗口和模态)的 Windows (OS) 任务栏。
解决此问题的一种方法是强制应用程序成为 Windows shell 而不是资源管理器。我试图通过更改注册来做到这一点。我的应用程序 exe 文件的密钥HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
,但它不起作用。当我重新启动时,它仍然会打开资源管理器外壳。
我还尝试在 中编辑相同的 Shell 键HKEY_LOCAL_MACHINE\...
,但该键要求您以Admin身份运行,这是另一个麻烦,因为我无法让 Electron 编写该 reg。作为管理员的密钥。
注意:我用来打开主窗口的代码是:
mainWindow = new BrowserWindow({
width: 800,
height: 600,
fullscreen: true,
frame: false,
autoHideMenuBar: true,
kiosk: true,
skipTaskbar: true,
webPreferences: {
preload: path.join(__dirname, 'preload.js'),
nodeIntegration: false,
devTools: true
}
})
那么,有没有人知道如何: - 让主应用程序始终保持全屏状态,或者...... - 正确启用“Shell”注册表项并保持应用程序的价值。
非常感谢大家的时间和帮助!
解决方案
您可以包含这样的代码:
win.removeMenu();
或者
win.setMenu(null);
其中,win 是创建的浏览器窗口的实例,例如,
let win = new BrowserWindow(options:{
width: 1200,
height: 800,
icon: 'path/to/icon'
})
推荐阅读
- linux - 来自守护进程的错误响应:获取 https://registry-1.docker.io/v2/:远程错误:tls:握手失败
- mysql - 如何使用字符组合创建列的自动递增值?
- python - 从熊猫数据框中选择多个值
- postgresql - Postgres 使用 2d golang 切片选择 WHERE col1, col2 IN
- typescript - 如何使用 TypeScript 显示当天的工作日名称
- microsoft-graph-api - Microsoft Graph API 更新架构扩展
- python-3.x - Python Pandas:无法使用 df.loc 分配列表值
- sql - 运行后取消主触发器(更新后)触发器类型
- html - 将 html 属性重构为 html5 的工具
- python-3.x - 捕获 SSL 预主密钥 - Python Youtube-DL