电子 - 获取显示器的刷新率



我如何在电子应用中获取显示器的刷新率?

电子。屏幕模块提供了一些有关显示器的信息,但不提供刷新率。我找不到任何这样做的节点软件包。

未测试

对于Mac,我可能要做的是使用节点,电子和命令行的组合。

  • 第一种方法:

在主要过程中,我将在nodej中使用child_process模块:

const exec = require('child_process').exec;
exec('defaults read /Library/Preferences/com.apple.windowserver.plist', (error, stdout, stderr) => {
  if (error) {
    console.error(`exec error: ${error}`);
    return;
  }
  console.log(`stdout: ${stdout}`);
  console.log(`stderr: ${stderr}`);
});

exe命令从OS获取监视器信息,并在读取主过程时运行。

之后,我将在渲染过程中使用电子屏幕命令 screen.getPrimaryDisplay()(因此您可以单击视图上的按钮或其他内容),并将该命令的输出分析为所需的ID。

通过IPC将其发送回主过程。如果您想要所有ID,请使用GetAllDisplays变体。

然后,我将从上述EXE命令中解析结果,并将ID匹配在一起,以确保您拥有所需的内容。然后,重新运行命令以通过GREP/AWK/SED过滤结果获得刷新率。
  • 第二种方式:

一种替代方法是在节点中使用PLIST软件包,然后以这种方式过滤/Library/Preferences/com.apple.windowserver.plist文件。

最新更新