electron 禁用快捷键

使用electron自带的 globalShortcut 监听快捷键,监听函数不做处理即可禁用快捷键

此方法无法禁用win键(即Super键),若需禁用win键 可使用 xmodmap 禁用(全局无效,非当前项目无效)

main.js

javascript 复制代码
const { app, BrowserWindow, ipcMain, globalShortcut } = require('electron')
const path = require('path')

// 需要无效化的键位
const keysDisabled = ['alt+f4', 'f11', 'ctrl+shift+i']

// 加载地址
const loadUrl =
  process.env.MODE === 'devlopment'
    ? 'http://localhost:3000/'
    : `file://${path.join(__dirname, '../dist/index.html')}`

function createWindow() {
  const win = new BrowserWindow({
    // width: 800,
    // height: 600,
    frame: false, // 隐藏窗口边框和标题栏
    fullscreen: true, // 设置全屏
    webPreferences: {
      contextIsolation: true,
      preload: path.join(__dirname, './preload.js'),
      nodeIntegration: false,
    }
  })

  win.loadURL(loadUrl)

  keysDisabled.map((key) => {
    globalShortcut.register(key, () => {
      console.log(key)
    })
  })
}

app.whenReady().then(() => {
  createWindow()
  app.on('activate', () => {
    if (BrowserWindow.getAllWindows().length === 0) {
      createWindow()
    }
  })
})

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})
相关推荐
共享家952733 分钟前
搭建 AI 聊天机器人:”我的人生我做主“
前端·javascript·css·python·pycharm·html·状态模式
摘星编程2 小时前
OpenHarmony环境下React Native:自定义useTruncate文本截断
javascript·react native·react.js
Duang007_3 小时前
【LeetCodeHot100 超详细Agent启发版本】字母异位词分组 (Group Anagrams)
开发语言·javascript·人工智能·python
2601_949868364 小时前
Flutter for OpenHarmony 电子合同签署App实战 - 主入口实现
开发语言·javascript·flutter
m0_748229994 小时前
Vue2 vs Vue3:核心差异全解析
前端·javascript·vue.js
xiaoxue..5 小时前
React 手写实现的 KeepAlive 组件
前端·javascript·react.js·面试
摘星编程5 小时前
在OpenHarmony上用React Native:自定义useHighlight关键词高亮
javascript·react native·react.js
Ha_To6 小时前
2026.1.28 docker安装
运维·docker·容器
2601_949613026 小时前
flutter_for_openharmony家庭药箱管理app实战+用药知识详情实现
android·javascript·flutter
一起养小猫6 小时前
Flutter for OpenHarmony 实战 表单处理与验证完整指南
android·开发语言·前端·javascript·flutter·harmonyos