如何在ElectronJS中禁用键盘快捷键“ Alt + F4”

时间:2019-03-22 09:45:13

标签: javascript node.js electron

我无法在Electron中禁用或更改这些键盘快捷键的工作。

ctrl + alt + 删除 alt + F4

下面,我提到了进行此更改的2种不同代码。


const { app, BrowserWindow, globalShortcut, path, url} = require('electron')

app.on('ready', () => {
  const ret = globalShortcut.register('alt+f4', function () {
    win.show()
  })
})

{
    role: 'help',
    submenu: [
        {
            label: 'Reload', 
            accelerator: 'Alt + F4',
            click: function (item, focusedWindow) {
                focusedWindow.reload();
            } 
        }
    ]
}

2 个答案:

答案 0 :(得分:0)

您可以通过阻止keydown进程中的renderer事件来禁用它

window.addEventListener('keydown', (e) => {
    const { key, altKey } = e;
    if (key === 'F4' && altKey) {
        e.preventDefault();   
    }
});

答案 1 :(得分:0)

尝试将以下代码用于 alt+f4:

 window.webContents
 .on("before-input-event",
   (event,input)=>
      { 
        if(input.code=='F4'&&input.alt) 
           event.preventDefault();
      }
  );