Electron 如何在电子自定义标题栏中禁用系统上下文菜单?

Electron 如何在电子自定义标题栏中禁用系统上下文菜单?,electron,Electron,我使用的是一个带有自定义标题栏的电子无框窗口,但右键单击它时有一个上下文菜单。如何禁用显示此菜单 这是电子版: "electron": "^11.3.0", 这是electron start程序:main.js,但在应用程序启动后,系统上下文菜单不起作用 const{app,BrowserWindow,ipcMain}=require('electron'); const path=require('path'); const url=require

我使用的是一个带有自定义标题栏的电子无框窗口,但右键单击它时有一个上下文菜单。如何禁用显示此菜单

这是电子版:

"electron": "^11.3.0",

这是electron start程序:main.js,但在应用程序启动后,系统上下文菜单不起作用

const{app,BrowserWindow,ipcMain}=require('electron');
const path=require('path');
const url=require('url');
让主窗口打开;
函数createWindow(){
主窗口=新浏览器窗口({
秀:假,,
帧:假,
useContentSize:true,
哈沙多:没错,
网络首选项:{
无融合:没错,
enableRemoteModule:true,
上下文隔离:错误,
preload:path.join(uu dirname,'preload.js'),
},
});
mainWindow.loadURL(
process.env.NODE_env==“开发”
? 'http://localhost:5000'
:url.format({
路径名:path.join(uu dirname,'../build/index.html'),
协议:“文件:”,
斜杠:对,
})
);
if(process.env.NODE_env===‘development’){
main window.webContents.openDevTools();
}
mainWindow.on('system-context-menu',(事件,_点)=>{
event.preventDefault();
});
}
const gottelock=app.requestSingleInstanceLock();
如果(!转到锁定){
app.quit();
}否则{
app.on('second-instance',(事件、命令行、工作目录)=>{
如果(主窗口){
如果(mainWindow.isMinimized())mainWindow.restore();
main window.focus();
}
});
app.whenReady().then(createWindow);
app.on('window-all-closed',()=>{
if(process.platform!=='darwin'){
app.quit();
}
});
//只是在macOS工作
// https://www.electronjs.org/docs/api/app#%E4%BA%8B%E4%BB%B6-激活macos
app.on('activate',()=>{
if(BrowserWindow.getAllWindows().length==0){
createWindow();
}
});
}

在Windows上,您应该能够拦截
浏览器窗口的事件并取消它

mainWindow.on("system-context-menu", (event, _point) => {
    event.preventDefault();
});
这种行为是在电子11in中添加的


编辑:此事件实际上不会为无框架窗口触发,因为。在我的解决方案起作用之前,它需要修复。我不知道有什么解决办法。

在Windows上,您应该能够拦截
浏览器窗口的事件并取消它

mainWindow.on("system-context-menu", (event, _point) => {
    event.preventDefault();
});
这种行为是在电子11in中添加的


编辑:此事件实际上不会为无框架窗口触发,因为。在我的解决方案起作用之前,它需要修复。我不知道有什么解决办法。

但它不起作用。您使用的是哪个电子版本?你能展示一些代码吗?谢谢你的回复,我在上面的问题中添加了我的代码。Woops-事件实际上不会因为一个错误而触发。在我的解决方案生效之前,它需要被修复…所以这个问题无法解决?但它不起作用。你使用的是哪个电子版本?你能展示一些代码吗?谢谢你的回复,我在上面的问题中添加了我的代码。Woops-事件实际上不会因为一个错误而触发。在我的解决方案生效之前,它需要被修复…所以这个问题不能被解决?