浏览数(9150)
【Electron无边框窗体 标题栏菜单】
electron 关于窗口标题 右键菜单关闭
方法1 ffi 调用 user32 GetSystemMenu(hwnd,true);
过程略去 自行查相关文档
方法2
electron BrowserWindow hookWindowMessage
hookWindowMessage 可以拦截窗口消息
int WM_INITMENU = 0x116; //当一个下拉菜单或子菜单将要被激活时发送此消息,它允许程序在它显示前更改菜单,而不要改变全部
代码如下 win.blur();win.focus(); 为初期测试 失焦聚焦可让窗口覆盖与菜单之上 但对于边缘点击无法遮挡遂放弃。
代码如下:
win.hookWindowMessage(278, function(e){
win.blur();//可忽略
win.focus();//可忽略
win.setEnabled(false);//窗口禁用
setTimeout(() => {
win.setEnabled(true);//窗口启用
}, 100);//延时太快会立刻启用,太慢会妨碍窗口其他操作,可自行测试最佳时间
return true;
})
Electon托盘图标旋转
var count=0;
mainWindow.timer=setInterval(function() {
count++;
var icon=count%11;
if(icon==0){
count=0;
}
if(mainWindow.newmessage==1){
mainWindow.appIcon.setImage(path.join(trayIcon, 'e.png'))
}
mainWindow.appIcon.setImage(path.join(trayIcon, icon+'.png'))
}, 50);