You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Electron快捷键问题求助:Control+1无法切换窗口最大化与还原状态

解决Electron窗口最大化/还原快捷键失效问题

你的代码里有两个关键问题导致第二次按下快捷键无法还原窗口,我来帮你逐一梳理修复:

1. 方法名拼写错误

你写的win.unaximize()是拼写失误,正确的Electron窗口还原方法名是unmaximize()(少写了一个m),调用不存在的方法自然无法触发窗口还原操作。

2. 窗口状态判断逻辑错误

win.isMaximized是方法本身的引用,并非调用后的返回值——在布尔判断里,函数引用会被视为true,所以你的三元表达式永远会执行win.unaximize()(还拼写错了),完全不符合预期逻辑。必须加上括号调用win.isMaximized(),才能获取当前窗口是否最大化的布尔值。

修正后的完整代码

globalShortcut.register('Control+1', () => {
  // 打印当前状态方便调试
  console.log('窗口当前最大化状态:', win.isMaximized());
  win.isMaximized() ? win.unmaximize() : win.maximize();
});

额外小提示

如果修复后仍有问题,可以检查两点:

  • 确认win变量在这个回调的作用域内是有效的Electron BrowserWindow实例
  • 可以尝试在注册快捷键前,先调用globalShortcut.unregisterAll()避免快捷键冲突

内容的提问来源于stack exchange,提问作者Surendar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 09:47:46