私は現在、スポットライト検索のように機能するアプリケーションに取り組んでいます。機能の 1 つは、キーボード ショートカット (この場合は ctrl + D) で検索バーを呼び出せるようにすることです。これを作成するために electron.js を使用しています。グローバル ショートカットを作成するために、以下を使用しました。
app.whenReady().then(() => {
globalShortcut.register('CommandOrControl+D', () => {
if (mainWindow.isVisible() == false) {
mainWindow.show();
console.log("\nctrl + D was pressed\nmainWindow focused");
} else if (mainWindow.isVisible() == true) {
mainWindow.blur();
mainWindow.hide();
console.log("\nctrl + D was pressed\nmainWindow not focused")
}
})
})
テスト中 (electron-forge を使用)、electron-forge start
一時的にプログラムを実行するコマンドを入力すると、完全に機能しましたがelectron-forge make
、exe ファイルを実行して実行した後、ショートカットはウィンドウを非表示/ぼかしたりするために機能しなくなりましたが、機能します。ウィンドウを呼び出す。
ctrl + D コマンドを ctrl + X (electron 推奨) などに変更し、プロジェクトを再作成して、ショートカットが使用されていないことを確認しましたが、うまくいきませんでした。また、テストでも機能しなかった isVisible の代わりに isFocused から始めました。
注: 私は Windows 10 を使用しています。これは、electron を使用すると Mac とは異なる動作をすることがありますが、この問題に関して実際には違いはありません。