electron在BrowserWindow中禁止右键菜单

最近使用 electron + vite + solid.js 做一个网络流量实时监控的小工具,其中需要禁止用户在获取 BrowserWindow 焦点后弹出默认右键菜单。

electron net-stats

解决方案

new BrowserWindow 后中添加以下代码:

  // 禁止右键菜单弹出 start
  mainWindow.hookWindowMessage &&
  mainWindow.hookWindowMessage(278, function () {
    
    
    mainWindow.setEnabled(false) //窗口禁用
    let timer = setTimeout(() => {
    
    
      mainWindow.setEnabled(true)
      clearTimeout(timer)
    }, 100) // 延时太快会立刻启动,太慢会妨碍窗口其他操作,可自行测试最佳时间
    return true
  })
  // 禁止右键菜单弹出 end

提示:因为 hookWindowMessage 只在 windows 系统可以,所以必须判断一下 mainWindow.hookWindowMessage 方法是否存在,避免报错。


欢迎访问:天问博客

猜你喜欢

转载自blog.csdn.net/tiven_/article/details/131714032