最近使用 electron + vite + solid.js 做一个网络流量实时监控的小工具,其中需要禁止用户在获取 BrowserWindow
焦点后弹出默认右键菜单。
解决方案
在 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
方法是否存在,避免报错。
欢迎访问:天问博客