电子浏览器窗口防止Control + W关闭窗口

时间:2020-02-22 08:50:53

标签: angular electron

我有一个带Angular 8的电子js应用程序。如果用户执行命令control + w,它将自动关闭窗口。我尝试浏览BrowserWindow Api,但是找不到标志或处理程序来阻止此行为的发生。

3 个答案:

答案 0 :(得分:3)

您需要更改或删除默认的应用程序菜单,该菜单默认具有此快捷键Window -> Close Ctrl+W

Menu.setApplicationMenu(null) // remove default application menu

// or

browserWindow.setMenu(null) // just remove default menu of a specific window and not all windows

这应该可以解决问题

相关文档:

答案 1 :(得分:2)

删除默认的应用程序菜单会删除其他有用的快捷方式,因此我建议您专门针对Ctrl + W,这可以使用globalShortcut完成:

const { app, globalShortcut } = require("electron");

app.on("ready", () => {
    globalShortcut.register("CommandOrControl+W", () => {
        //stuff here
    });
});

有关此here

的更多信息

答案 2 :(得分:0)

对于它可能关心的人,另一个解决方案可以是:

app.on("ready", () => {
  app.on("browser-window-focus", () => {
    globalShortcut.registerAll(
      ["CommandOrControl+R"],
      () => {
        return;
      }
    );
  });
  app.on("browser-window-blur", () => {
    globalShortcut.unregisterAll();
  });
});

这样,我们可以防止阻塞其他应用程序中的globalShortcuts。 有关电子促进剂的更多信息:https://www.electronjs.org/docs/api/accelerator

相关问题