【问题标题】:ElectronJS BrowserWindow.minimize() seems to be brokenElectronJS BrowserWindow.minimize() 似乎坏了
【发布时间】:2020-11-24 19:53:58
【问题描述】:

我正在尝试通过调用 mainWindow.minimize() 来最小化 ElectronJS 2.0.2 中的全屏无框架 BrowserWindow (mainWindow),但没有任何反应。

如果我尝试通过调用 myWindow.close() 来关闭它,它可以正常工作。

  • mainWindow.isMinimizable() 是真的
  • mainWindow.isMinimized() 仍然是错误的
  • 不抛出异常

这是一个代码示例:

mainWindow = new BrowserWindow(
{
  backgroundColor: backgroundColor,
  frame: false,
  fullscreen: true,
  icon: path.join(__dirname, 'assets/icons/png/64x64.png'),
  kiosk: true,
  title: 'Title',
  webPreferences: { session: ses, webSecurity: false },
  width: width, height: height,
});

mainWindow.setMenu(null);
mainWindow.setAutoHideMenuBar(true);
mainWindow.setMenuBarVisibility(false);
mainWindow.setAlwaysOnTop(true);

ipcMain.on('minimize-window', () => {
  console.log('is minimizable: ', mainWindow.isMinimizable()); // true
  console.log('is minimized: ', mainWindow.isMinimized()); // false
  mainWindow.minimize();
  console.log('is minimized: ', mainWindow.isMinimized()); // false
});

你知道为什么会这样吗?

【问题讨论】:

  • 你能显示你正在使用的代码吗?
  • 请将代码中您调用mainWindow.isMinimizable()的部分贴出来。我在您当前的代码中没有看到任何对它的引用。
  • 我在调用 mainWindow.minimize() 之前调用它只是为了测试目的。
  • 使用您的确切代码,它仍然按预期工作。 (旁注:不要指望isMinimized 立即更改,它是操作系统消息驱动的)
  • 我部分找出了问题所在。仅当我在 BrowserWindow 中呈现 react-modal 组件时,minimize() 才起作用。如果我关闭它,它就会起作用。我不知道为什么会这样。

标签: javascript reactjs electron


【解决方案1】:

就我而言,我所做的是通过以下方式获得currentWindow

mainWindow.getFocusedWindow().minimize();

这就是我所做的... 让我知道这是否对你有用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多