Обнаружение нажатия клавиш на документе - PullRequest
0 голосов
/ 03 августа 2020

Я разрабатываю свой собственный таймер с использованием электрона, и я хотел бы знать, можно ли обнаружить нажатие клавиши без приложения в первом плане. Например: я запускаю приложение, открываю другую программу, например Discord, и пока я использую Discord, я могу запустить таймер.

Ответы [ 2 ]

2 голосов
/ 03 августа 2020

Позаимствовано из документации Electron здесь: https://www.electronjs.org/docs/api/global-shortcut

Обнаружение событий клавиатуры, когда приложение не имеет фокуса клавиатуры.

Модуль globalShortcut может зарегистрировать / отменить регистрацию глобального сочетания клавиш в операционной системе, чтобы вы могли настраивать операции для различных сочетаний клавиш.

Примечание: сочетание клавиш является глобальным; он будет работать, даже если у приложения нет фокуса клавиатуры. Вы не должны использовать этот модуль до тех пор, пока не будет сгенерировано событие готовности модуля приложения.

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

app.whenReady().then(() => {
  // Register a 'CommandOrControl+X' shortcut listener.
  const ret = globalShortcut.register('CommandOrControl+X', () => {
    console.log('CommandOrControl+X is pressed')
  })

  if (!ret) {
    console.log('registration failed')
  }

  // Check whether a shortcut is registered.
  console.log(globalShortcut.isRegistered('CommandOrControl+X'))
})

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

  // Unregister all shortcuts.
  globalShortcut.unregisterAll()
})
0 голосов
/ 03 августа 2020

Хорошо, я сделал это. Спасибо, Натан, за то, что показал мне путь.

Я добавил выполнить JavaScript, и он отлично работает:

app.whenReady().then(() => {
  const ret = globalShortcut.register('Z', () => {
      win.webContents.executeJavaScript("startContinue();");
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...