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()
        })
      })
    }
相关推荐
木斯佳1 分钟前
前端八股文面经大全:秦丝科技前端(2026-04-24)·笔试深度解析
前端·笔试
喜欢吃鱿鱼3 分钟前
VUE项目 弹窗改为页面供其他项目嵌入iframe - 截取地址栏URL中的参数
前端·javascript·vue.js
无心使然云中漫步4 分钟前
Openlayers调用ArcGis地图服务之二 —— 动态地图(/export)
前端·arcgis·vue·数据可视化
Chengbei117 分钟前
全新开源 Burp AI 扫描插件、支持 17 类 Web检测,自带 WAF 绕过,一键自动化挖掘并智能验证
前端·人工智能·自动化
爱宇阳12 分钟前
HTML头部元信息避坑指南
前端·html
ZC跨境爬虫19 分钟前
UI前端美化技能提升日志day6:(使用苹果字体+计算样式对比差异)
前端·javascript·css·ui·状态模式
胡志辉的博客22 分钟前
前端反调试:常见套路、识别方法与绕过思路
前端·javascript·web安全·状态模式·安全威胁分析·代码混淆
牛奶37 分钟前
老板问我接口设计,我甩给他一个文档
前端·restful·graphql
gskyi41 分钟前
UniApp Vue3 数据透传终极指南
javascript·vue.js·uni-app
gskyi42 分钟前
uni-app 高阶实战:onLoad与getCurrentPages深度技巧
前端·javascript·vue.js·uni-app