Electron 控制屏幕亮度

CMD控制屏幕亮度

一开始用brightness,dev下可用,打包后执行报错,找了很多文章都没办法解决。后来想到执行CMD命令去设置( 如何在 Windows 中使用命令行调整屏幕亮度 )。测试打包后正常,无需管理员权限。

  1. 引入exec

    const { exec } = require('child_process')
    
  2. 获取屏幕亮度

    js 复制代码
    function getScreenBrightness() {
      return new Promise<number>((resolve,reject) => {
        exec('powershell.exe "(Get-WmiObject -Namespace root\\WMI -Class WmiMonitorBrightness).CurrentBrightness"', (error: Error | null, stdout: any) => {
          if (error) {
            console.log('get screen brightness error')
            reject(0)
          } else {
            resolve(stdout.trim())
          }
        })
      })
    }
  3. 设置屏幕亮度(0~100)

    js 复制代码
    function setScreenBrightness(brightness: number): Promise<void> {
      return new Promise((resolve) => {
        const command = `WMIC /NAMESPACE:\\\\root\\wmi PATH WmiMonitorBrightnessMethods WHERE "Active=TRUE" CALL WmiSetBrightness Brightness=${brightness} Timeout=0`
        exec(command, (error: Error | null) => {
          if (error) {
            console.error(`Error: ${error.message}`)
          }
          resolve()
        })
      })
    }
相关推荐
YYsuni2 分钟前
项目植入 Git 变量
前端·javascript·前端框架
aoi3 分钟前
低代码公式配置数字计算精度处理/大数计算处理记录
javascript
mannymu3 分钟前
前端AI入门之路(一)
前端
日升_rs5 分钟前
Chrome 134 版本新特性
前端·chrome·浏览器
前端卧龙人6 分钟前
前端如何最小化重绘和回流
前端
南蓝7 分钟前
【React】React 19 新特性
前端
银之夏雪8 分钟前
深入理解 GPU 渲染加速与合成层(Composite Layers)
前端·javascript·浏览器
机巧咸鱼不会受伤9 分钟前
为什么浏览器的渲染进程不适用于多个线程来处理
前端·浏览器
前端日常开发9 分钟前
轻松合并远端两个Commit,代码历史秒变整洁!
前端
Au_ust9 分钟前
React:类组件(上)
前端·javascript·react.js