如何在Windows 10上的电子应用程序中禁用键盘快捷键Alt + Tab?

时间:2018-12-04 09:10:52

标签: javascript node.js electron

我正在使用桌面应用程序,而在Ubuntu服务器上工作时,我可以阻止键盘快捷键: Alt + Tab 很好,但是当我移至可以在Windows操作系统上正常运行,并尝试阻止 Alt + Tab ,但它不起作用。由于 Alt键盘导致的问题最多,当我尝试阻止它时,它在Windows 10上严重无法正常工作 这是我正在使用的代码:

var shortcutsToCapture = ['Ctrl+Alt+Delete', 'Alt+F4','CommandOrControl+A','Super+Alt+Tab','CommandOrControl+Shift+I', 'CommandOrControl+R']

// this should be placed at top of main.js to handle setup events quickly
if (handleSquirrelEvent(app)) {
    // squirrel event handled and app will exit in 1000ms, so don't do anything else
    return;
}

app.on('ready', function () {

  captureShortcuts(shortcutsToCapture)
})

function captureShortcuts(shortcuts) {
  shortcuts.forEach(function (shortcut) {
    registerShortcutCapturing(shortcut)
  })
}

function registerShortcutCapturing(shortcut) {
  var result = globalShortcut.register(shortcut, function () {
    console.log('<' + shortcut + '> captured!')
  })

  if (!result) {
    console.log('<' + shortcut + '> registration failed!')
  }
}

app.on('will-quit', () => {
  // Unregister a shortcut.
  globalShortcut.unregister('CommandOrControl+X')

  // Unregister all shortcuts.
  globalShortcut.unregisterAll()
})

1 个答案:

答案 0 :(得分:0)

即使应用程序没有键盘焦点,您也可以使用globalShortcut模块来检测键盘事件。

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

app.on('ready', () => {
  globalShortcut.register('alt+tab', () => {

     return false
  })
})

希望这会有所帮助